La gestion des exception
Ferdinand BATANA, DBA & Web Developer(MCSE SQL SERVER)
Plan du cours
1. Les concepts de base
2. Les mots clés try, catch et finally
3. Hiérarchie des classes d’exceptions java
4. Les exceptions personnalisées
5. Lancer une exception avec throw et throws
Les concepts de base
Une exception: Une erreur(différent de [Link]) qui se produit
lors de l’execution d’un programme
Exemple : division par zero
Les concepts de base
Les concepts de base
il n’est pas très convivial qu’une erreur conduise à l’interruption d’un
programme en plein milieu d’exécution
Java propose une façon de les gérer en évitant l’arrêt duprogramme
(la capture des exceptions) :
1. repérer d’abord les parties du code qui pourraient les provoquer
2. utiliser ensuite les mots clés try, catch et finally pour afficher un message
personnalisé empêchant ainsi l’arrêt "sauvage" du programme
les mots clés try, catch et finally
Repérons d’abord dans notre code la partie susceptible de lever une
exception
les mots clés try, catch et finally
Ensuite entourons la d’un bloc try, catch
les mots clés try, catch et finally
try{/*…………*/}
Bloc dans lequel les exceptions sont susceptibles d’être levées
catch(Exception ex){/*…………..*/}
Bloc dans lequel l’exception est gérée
finally{/*…………*/}
Bloc contenant les instructions qui seront toujours exécutées, qu’une
exception soit levée ou non
Hiérarchie des classes d’exception
Hiérarchie des classes d’exception
Possibilité d’avoir plusieurs bloc catch pour un ou plusieurs try
Les exceptions doivent être ordonnées de la plus spécifique à la plus
générale
Hiérarchie des classes d’exception
Résultat de l’exécution
Hiérarchie des classes d’exception
Le cas ou le deuxième bloc catch peut être atteint
Lancer une exception avec throws et throw
throws permet d’indiquer qu’une méthode est susceptible de lancer
une exception
Il est ajouter à l’entête de la méthode concernée suivi du nom de
l’xception
Lancer une exception avec throws et throw
Lorsqu’il est ajouté à l’entête d’une méthode le compilateur exigera
que l’appel à cette méthode soit entouré d’un bloc try, catch
Lancer une exception avec throws et throw
throw permet de déclencher l’exception en instanciant la classe de cette exception
Il se trouve dans la méthode susceptible de lancer l’exception et vient d’habitude
après un test
Dans notre cas il permet de lancer l’exception lorsque note<0
les exceptions personnalisées
Possibilité de créer sa propre classe de gestions d’exception
Faisons en sorte que la note d’un étudiant ne soit pas négative
D’abord définissons notre propre classe d’exception NegativeNoteException
les exceptions personnalisées
Modifions le constructeur de Etudiant de la sorte:
les exceptions personnalisées
Enfin entourons la partie qui peut générer NegativeNoteException par try, catch
les exceptions personnalisées
Nous pouvons exécuter le programme pour voir le résultat