05/12/2002 Java 2001 (PP) 1
Programmer avec les exceptions
en Java
Premier Cycle
Cours Eurinsa 2002
(c) P.Pollet
05/12/2002 Java 2001 (PP) 2
Plan
Gestion traditionnelle des erreurs d ’exécution
Qu’est-ce qu’une exception ?
La classe Exception
Les exceptions de l ’API Java
Créer ses exceptions personnalisées
L ’instruction throw
Capture avec try…catch
La clause finally
Faire passer au niveau supérieur
Que faut-il capturer ?
Conclusion
05/12/2002 Java 2001 (PP) 3
Gestion traditionnelle des erreurs d ’exécution
En programmation classique, la gestion des erreurs est
imbriquée dans le code.
Exemple en Pascal :
Problèmes:
Les erreurs peuvent être ignorées,oubliées...
Le traitement des erreurs doit être répété à chaque appel d ’un « module »
susceptible de retourner un code d ’erreur.
Non fiabilité du code puisque tout est laissé à la bonne volonté du
programmeur sans aucun contrôle du compilateur...
Appel1 (…);
If Error then …. // traitement erreur(s)
else
Appel2(…);
if Error then // traitement erreurs(s)
else
…….
05/12/2002 Java 2001 (PP) 4
Qu’est-ce qu’une exception ?
Lorsqu’une méthode détecte une situation d ’erreur elle
lève une exception, c’est à dire:
elle interrompt son traitement.
elle transmet (lance) à son appelant un « signal logiciel »
ce signal logiciel est un objet (une instance de la classe Exception) qui
décrit entièrement le problème ( quoi, qui…)
l ’appelé doit traiter (attraper) cette exception ou la transmettre au niveau
supérieur.
éLe traitement des erreurs peut donc être centralisé.
éProgrammation de style « optimiste »
éOn ne peut plus ignorer ou oublier les erreurs.
Si une exception remonte jusqu’à la JVM:
un diagnostic est affiché sur la console Java
l ’exécution reprend si elle ne met pas en péril l ’environnement
05/12/2002 Java 2001 (PP) 5
La classe Exception
Hérite de la classe java.lang.Throwable
Principales méthodes:
getMessage() : renvoie la chaîne de caractères passée au
constructeur de l ’exception, en principe le texte du message
d ’erreur
toString() : renvoie une chaîne de caractères contenant le nom de
la classe et le résultat de getMessage()
ex: « IOException : fichier non ouvert en écriture »
printStackTrace() : imprime sur la console l ’ensemble des appels
parcourus par l ’exception.
1 / 14 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !