2011-08-30 1 views
0

Pour vérifier ce qui se passe lorsque le serveur est hors service ou que le réseau ne fonctionne pas, j'ai arrêté les services Apache et MySQL et j'ai exécuté mon code.
Je suis erreur suivant:Comment attraper une exception "java.net.ConnectException: connection refused: connect"

java.net.ConnectException: Connection refused: connect

comment puis-je attraper cette exception dans le code?

J'ai essayé ceci:

public static Connection getCon(){ 
    Connection con=null; 


    try{ 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    con=DriverManager.getConnection(
     "jdbc:mysql://localhost:3306/zomatocrm","root",""); 
    } 

    catch(Exception e){ 
    System.out.println(e.getMessage()); 
    if(e.getCause() instanceof SQLException){ 
     JOptionPane.showMessageDialog(null, "Connection refused!"); 
    }     
    } 
    return con; 
} 

Et ce

public static Connection getCon(){ 
    Connection con=null; 

    try{ 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    con=DriverManager.getConnection(
     "jdbc:mysql://localhost:3306/zomatocrm","root",""); 
    } 

    catch(Exception e){ 
    System.out.println(e.getMessage()); 
    if(e.getCause() instanceof ConnectException){ 
     JOptionPane.showMessageDialog(null, "Connection refused!"); 
    }     
    } 
    return con; 
} 

Aussi j'ai utilisé la connexion à faire l'échange de données avec mon sever xampp localhost puis essayé avec arrêter xamp et toujours obtenir l'exception ci-dessus.

Comment est-ce que mon code attrape complètement l'exception?

+0

Bref suggèrent comment puis-je vérifier si la connexion est bonne pendant que mon code fonctionne !!! .. – srijan

+2

Qu'attendez-vous? Votre code * explicitement * imprime le message, ainsi vous obtenez le message. Notez également que votre méthode renverra simplement 'null' en cas d'échec, ce qui retardera simplement le problème et lancera une exception' NullPointerException' plus tard. Qu'attendez-vous réellement de votre code, lorsqu'il ne peut pas se connecter à la base de données? –

+0

je veux un pop-up quand cette exception est levée ... ce qui ne se passe pas !! le code ne fonctionne pas comme prévu !!! ... oui je veux savoir quand il ne peut pas se connecter à DB !! – srijan

Répondre

-2
  1. Ne cochez pas la cause, mais l'exception se
  2. Catch seulement le genre d'exception dont vous avez besoin pour attraper

Avec cela à l'esprit:

public static Connection getCon() { 
    Connection con=null; 
    try { 
     Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     con=DriverManager.getConnection("jdbc:mysql://localhost:3306/zomatocrm", "root", ""); 
    } 
    catch (ConnectException e){ 
     System.out.println(e.getMessage()); 
     JOptionPane.showMessageDialog(null, "Connection refused!!!"); 
    } 
    return con; 
} 
+0

le code à l'intérieur essaie aussi de lancer SQLException ... comment suivra-t-il cela !! – srijan

+3

** En fait ** 'ConnectException' n'est jamais jeté dans ce code! Je soupçonne qu'une 'SQLException' est lancée là où le' ConnectException' est le * cause *! –

Questions connexes