© Éditions Eyrolles
323
chapitre n° 8
Utilisation avec Java
Affichage des erreurs
Le code suivant (Exceptions1.java) illustre une manière d’afficher explicitement toutes
les erreurs sans effectuer d’autres instructions :
Traitement des erreurs
Il est possible d’associer des traitements à chaque erreur répertoriée avant l’exécution du
programme. On peut appeler des méthodes de la classe principale ou coder directement dans
le bloc des exceptions.
Le code suivant (Exceptions2.java) insère un enregistrement dans la table Avion en gérant
un certain nombre d’exceptions possibles. Le premier bloc des exceptions permet d’afficher un
message personnalisé pour chaque type d’erreur préalablement répertorié (duplication de clé
primaire, mauvais nombre ou type de colonnes…). Si l’avion à insérer n’est pas rattaché à une
compagnie existante (contrainte référentielle), exception 1452-Cannot add or update a
child row: a foreign key constraint fails). Le dernier bloc d’exceptions affiche
une erreur qui n’a pas été prévue par le programmeur (erreur système ou de syntaxe dans
l’instruction, par exemple).
Tableau 8-45 Affichage des erreurs
Code Java
Commentaires
import java.sql.*;
public class Exceptions1
{ public static void main
(String args []) throws SQLException, Exception
{try
{Class.forName
("com.mysql.jdbc.Driver").newInstance();}
catch (ClassNotFoundException ex)
{System.out.println
("Problème au chargement"+ex.toString()); }
try
{ Connection cx =
DriverManager.getConnection(...
cx.close(); }
Classe principale.
Chargement du pilote.
Connexion.
Instructions…
{System.err.println("Erreur");
while ((ex != null))
{System.err.println("Statut : "+
);
System.err.println("Message : "+
);
System.err.println("Code base : "+
);
ex =
;}
} } }
Gestion des erreurs.
Web
catch(SQLException ex)
ex.getSQLState()
ex.getMessage()
ex.getErrorCode()
ex.getNextException()
Précédent

- 345/418

Suivant