IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Impossible de catcher "java.net.BindException"


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Impossible de catcher "java.net.BindException"
    Bonjour,

    J'essaie de capturer l'exception java.net.BindException quand un port est deja utilise mais le code ci-dessous ne le fait pas.

    Quelqu'un a-t-il une idee ?

    Je vous remercie d'avance de votre aide.

    (e.getCause() me donne null))

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Server server = new Server(); 
    SocketListener listener=new SocketListener();
    listener.setPort("9050");
     
      try{
              server.start();
          }catch(java.net.BindException e){ 
              System.out.println("BindException");
          } catch(Exception e){
              System.out.println("Exception"); 
              e.printStackTrace();
          }


    ############## OUTPUT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Exception
     
     
     
    org.mortbay.util.MultiException[java.net.BindException: Address already in use: JVM_Bind]
            at org.mortbay.http.HttpServer.doStart(HttpServer.java:686)
            at org.mortbay.util.Container.start(Container.java:72)
            at startServer.main(startServer.java:77)
    java.net.BindException: Address already in use: JVM_Bind
            at java.net.PlainSocketImpl.socketBind(Native Method)
            at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
            at java.net.ServerSocket.bind(ServerSocket.java:319)
            at java.net.ServerSocket.<init>(ServerSocket.java:185)
            at org.mortbay.util.ThreadedServer.newServerSocket(ThreadedServer.java:391)
            at org.mortbay.util.ThreadedServer.open(ThreadedServer.java:477)
            at org.mortbay.util.ThreadedServer.start(ThreadedServer.java:503)
            at org.mortbay.http.SocketListener.start(SocketListener.java:204)
            at org.mortbay.http.HttpServer.doStart(HttpServer.java:716)
            at org.mortbay.util.Container.start(Container.java:72)
            at startServer.main(startServer.java:77)
    java.net.BindException: Address already in use: JVM_Bind
            at java.net.PlainSocketImpl.socketBind(Native Method)
            at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
            at java.net.ServerSocket.bind(ServerSocket.java:319)
            at java.net.ServerSocket.<init>(ServerSocket.java:185)
            at org.mortbay.util.ThreadedServer.newServerSocket(ThreadedServer.java:391)
            at org.mortbay.util.ThreadedServer.open(ThreadedServer.java:477)
            at org.mortbay.util.ThreadedServer.start(ThreadedServer.java:503)
            at org.mortbay.http.SocketListener.start(SocketListener.java:204)
            at org.mortbay.http.HttpServer.doStart(HttpServer.java:716)
            at org.mortbay.util.Container.start(Container.java:72)
            at startServer.main(startServer.java:77)

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ce serait plutot ce code qu'il te faudrait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
          try{
              server.start();
          }catch(MultiException e){ 
              for (Throwable cause: e.getThrowables())
                  e.printStackTrace();
          }

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Ce serait plutot ce code qu'il te faudrait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
          try{
              server.start();
          }catch(MultiException e){ 
              for (Throwable cause: e.getThrowables())
                  e.printStackTrace();
          }
    Je te remercie tchize mais j'arrive a pas tester ton code. La methode getThrowables() ne semble pas etre reconnue, pourtant, sur l'API en ligne elle existe bel et bien et j'ai bien importe la classe MultiException



    cannot find symbol
    Symbol : method getThrowables()
    location : class org.mortbay.util.MultiException

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    J'ai, pour l'instant, trouve une solution. Je ne sais pas si elle est bonne, mais je la paratege quand meme



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     try{
              server.start();
          }catch(MultiException ex){
              if(ex.getException(0) instanceof BindException) 
                  System.out.println("BindException");
          }

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par laminoo Voir le message
    La methode getThrowables() ne semble pas etre reconnue,
    peut etre une version différente de la librairie? dans jetty 5 c'est getExceptions() et getException(i) alors quand dans jetty 6 c'est getThrowables() et getThrowable(i);

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    peut etre une version différente de la librairie? dans jetty 5 c'est getExceptions() et getException(i) alors quand dans jetty 6 c'est getThrowables() et getThrowable(i);
    Justement, j'y ai pense, j'ai retelecharge une autre version mais, pressé, j'ai pas verifie si elle etait la plus recente.

    Je te remercie encore une fois tchize.

    Je vais mettre le topic en resolu...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. java.net.BindException: Address already in use: connect
    Par Spiff__ dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 10/08/2009, 06h54
  2. SocketFactory : java.net.BindException
    Par manpe dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 29/07/2008, 14h52
  3. Illegal access, Could not load java.net.BindException
    Par red210 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 08/10/2007, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo