Cours Java - Exceptions PDF

Summary

These lecture notes cover Java exceptions. Topics include exception handling, creating custom exceptions, and the difference between checked and unchecked exceptions. The document also details the use of try-catch blocks to handle exceptions. Note that this is not a past exam paper.

Full Transcript

Programmation Orientée Objet et Langage Java 4- Exceptions Module: Programmation Objet Avancée A.Mazoul Département Génie informatique Programmation orienté objet en Java...

Programmation Orientée Objet et Langage Java 4- Exceptions Module: Programmation Objet Avancée A.Mazoul Département Génie informatique Programmation orienté objet en Java Exceptions Qu’est-ce que Une exception Une exception est une erreur se produisant dans un programme qui conduit le plus souvent à l'arrêt de celui-ci, nous avons deux solutions:  laisser le programme se terminer avec une erreur,  essayer, malgré l'exception, de continuer l'exécution normale. Une exception est une classe Java qui représente un état particulier et qui hérite directement ou indirectement de la classe Exception. Les sources d’erreur peuvent être nombreuses:  Une défaillance physique ou logiciel  Etat d’un objet qui ne correspond pas à un cas prévu.  Une erreur de programmation (ex: Appel à une méthode sur un null ). En java, la gestion des erreurs se confond avec la gestion des cas exceptionnels.  NullPointerException: Signale qu’une référence null est utilisée (objet null)  NumberFormatException: Problème de conversion d’une String en nombre  IndexOutOfBoundsException: Dépassement de limite d'un tableau.  ArithmeticException: Division par zéro  ClassCastException: Forçage de type (casting) illégale A.Mazoul Programmation orienté objet Java 2 Programmation orienté objet en Java Exceptions Arbre des exceptions A.Mazoul Programmation orienté objet Java 3 Programmation orienté objet en Java Exceptions Le bloc try{...} catch{...} Lorsqu'un événement que la JVM ne sait pas gérer apparaît, une exception est levée (exemple : division par zéro). Une exception correspond donc à une erreur. L'instruction qui permet de capturer des exceptions est le bloc try{} catch{}. Si une exception est levée dans le bloc try{}, les instructions figurant dans le bloc catch{} seront exécutées pour autant que celui-ci capture la bonne exception levée. Vous pouvez ajouter autant de blocs catch que vous le voulez à la suite d'un bloc try{}, mais respectez l'ordre : du plus pertinent au moins pertinent. A.Mazoul Programmation orienté objet Java 4 Programmation orienté objet en Java Exceptions Le bloc try{...} catch{...} vous pouvez avoir constaté que lorsque l'exception a été levée dans l’exemple précédent, le programme s'est arrêté ! L'exception qui a été déclenchée est ArithmeticException Nous allons pouvoir la capturer, avec un bloc try{...}catch{...} La clause catch permet de connaître le type d'exception qui doit être capturé. La méthode getMessage() de l’exception retourne le message d’erreur. A.Mazoul Programmation orienté objet Java 5 Programmation orienté objet en Java Exceptions Le bloc try{...} catch{...} lorsqu'une ligne de code lève une exception, l'instruction dans le bloc try est interrompue et le programme se rend dans le bloc catch correspondant à l'exception levée. La clause finally définit un bloc qui sera toujours exécuté, qu'une exception soit levée ou non. finally est utilisée pour assurer d'avoir la fermeture d’un fichier, une connexion à la base de données ou un socket. A.Mazoul Programmation orienté objet Java 6 Programmation orienté objet en Java Exceptions Les exceptions personnalisées Le programmeur peut lever ses propres exceptions à l'aide du mot réservé throw. throw prend en paramètre un objet instance de Throwable ou d'une de ses sous-classes.  Créer une classe héritant de la classe Exception:  Renvoyer l'exception levée : A.Mazoul Programmation orienté objet Java 7 Programmation orienté objet en Java Exceptions Les exceptions personnalisées Nous devons entourer notre instanciation avec un bloc try{...}catch{...} printStackTrace() : Il s'agit d'une méthode de la classe « throwable » de Java qui affiche l'exception avec d'autres détails comme le numéro de ligne et le nom  capture d’une exception: A.Mazoul Programmation orienté objet Java 8 Programmation orienté objet en Java Exceptions Personnalisation du message d’erreur La classe Exception possède un constructeur qui permet d’initialiser le message qui sera obtenu. A.Mazoul Programmation orienté objet Java 9 Programmation orienté objet en Java Exceptions Checked et Unchecked exception Pour les exceptions dites contrôlées (checked) l’exception doit être déclarée dans l’en-tête de la méthode. Les exceptions non contrôlées (unchecked) peuvent être capturées mais n'ont pas à être déclarées. Les exceptions et erreurs qui héritent de RunTimeException et de Error sont non contrôlées. Toutes les autres exceptions sont contrôlées. Nous n’avons pas a entourer notre exception avec un bloc try{...}catch{...} A.Mazoul Programmation orienté objet Java 10 Programmation orienté objet en Java Exceptions Checked et Unchecked exception  Exemple Pas besoin de Pas besoin de try{…} catch{…} A.Mazoul Programmation orienté objet Java 11 A.Mazoul Réseaux informatiques Téléinformatique 12

Use Quizgecko on...
Browser
Browser