Salut!
Je travaille avec les EJBs, Oracle et Jboss et j'aimerais récupérer les SQLExceptions affichées par Oracle sur Jboss et les afficher dans un fichier ou une fenêtre de dialogue.
Quelqu'un pourrait m'aider? Merci![]()
Discussion :
Salut!
Je travaille avec les EJBs, Oracle et Jboss et j'aimerais récupérer les SQLExceptions affichées par Oracle sur Jboss et les afficher dans un fichier ou une fenêtre de dialogue.
Quelqu'un pourrait m'aider? Merci![]()
bonjour,
il suffit que tu englobes ton code dans un try catch
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 try{ //ton code qui utilise du sql catch ( SqlException SqlEx ) { System.out.println(SqlEx); }
Pour une fenetre graphique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 JOptionPane.showMessageDialog(this,monMessage,"Erreur",JOptionPane.ERROR_MESSAGE);
ça marche pas!
Voici l'erreur affichée par Jboss
09:36:04,529 INFO [STDOUT] Suppression
09:36:04,539 ERROR [TB_AUTEURS] Could not remove 51
java.sql.SQLException: ORA-02292: integrity constraint (CISMEF.FK_TB_AUTEU_AF_A_TB_AUTEU) violated - child record found
On voit bien qu'il relève une SQLException.
Voici mon code:
try{
test.supprimer();
}
catch(SQLException e){ //
System.out.println(e);
}
Il aime pas mon catch(SQLException e), il dit : This execption is never thrown from the block try
Tu devrais avoir un try{}catch{} autour du code qui execute la requete : executeQuery()
Remarque : executeQuery() renvoi une SQLException donc tu peux faire un try catch( SQLException e ) autour de cette méthode.
Pour pouvoir faire :
la fonction supprimer doit avoir la signature suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 try{ test.supprimer(); } catch(SQLException e){ // System.out.println(e); }
Je te conseille de mettre au point sur la gestion des exceptions en Java car tu vas très souvent l'utiliser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part public void supprimer() throws SQLException
Merci Seb.
J'explique:
En fait dans ma méthode supprimer() je n'utilise pas de code sql, c'est l'ejb qui s'occupe d'interroger Oracle pour supprimer dans la base de données; Donc ce qu'il me faut c'est de récupérer sur ma console d'exécution les messages d'erreurs (SQLException) affichés par OracleJ'ai vu dans un tuto qu'on peut utiliser les Logger. Quelqu'un sait ce que c'est et comment on les utilise?
Partager