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 l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!