Les exceptionsAxel KAMALAK
Les exceptionsLa notion dexception est un mécanisme permettant audéveloppeur JAVA de traiter de manière efficace et simple...
Les exceptions    Différentes causes sont à l’origine de ce problème :L’utilisateur
Les exceptions      Différentes causes sont à l’origine de ce problème :L’utilisateur                 Le développeur
Les exceptionsDifférentes causes sont à l’origine de ce problème :                        L’utilisateur peut entrer des do...
Les exceptionsDifférentes causes sont à l’origine de ce problème :                                Le développeur peut avoi...
Les exceptionsDifférentes causes sont à l’origine de ce problème :                                Le développeur peut avoi...
Les exceptionsDifférentes causes sont à l’origine de ce problème :                                Si le développeur écrit ...
Les exceptionsDifférentes causes sont à l’origine de ce problème :                                Si le développeur écrit ...
Les exceptions     Soit le programme suivant :package Exercice;public class Exercice3 {public static void main (String [] ...
Les exceptions     Soit le programme suivant :package Exercice;public class Exercice3 {public static void main (String [] ...
Les exceptionspackage Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c...
Les exceptionspackage Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c...
Les exceptionspackage Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c...
Les exceptions     Nous pourrions résoudre ce problème à l’aide d’un     test if – else.package Exercice;public class Exer...
Les exceptions     Nous pourrions résoudre ce problème à l’aide d’un     test if – else.package Exercice;public class Exer...
Les exceptions     Nous pourrions résoudre ce problème à l’aide d’un     test if – else.package Exercice;public class Exer...
Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c = 0 ;try{int som...
Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c = 0 ;           ...
Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c = 0 ;try{int som...
Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c = 0 ;           ...
Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c = 0 ;           ...
Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;                                ...
Les exceptionsSyntaxe JAVAtry{..}catch (ClasseException1 variable){…}catch (ClasseException2 variable){…}
Les exceptionsSyntaxe JAVAtry{Partie de code susceptible de générer une erreur}catch (ClasseException1 variable){}catch (C...
Les exceptionsSyntaxe JAVAtry{Partie de code susceptible de générer une erreur}catch (ClasseException1 variable){Action à ...
Les exceptionsSyntaxe JAVAtry{Partie de code susceptible de générer une erreur}catch (ClasseException1 variable){Action à ...
Les exceptionsLe bloc finallyUn bloc finally permet au programmeur de définir unensemble dinstructions qui est toujours ex...
Les exceptionspackage Exercice;                 try{                                  int somme = a*b/c;public class Exerc...
Les exceptions  package Exercice;          try{                             int somme = a*b/c;  public class Exercice3 {  ...
Les exceptionsLes erreurs les plus fréquentes : Division par zéro pour les entiers : ArithmeticException référence nulle :...
Les exceptionsLes erreurs les plus fréquentes : Division par zéro pour les entiers : ArithmeticException référence nulle :...
Les exceptions                                       package unpackage;    package unpackage;                             ...
Les exceptions                                         package unpackage;    package unpackage;                           ...
Les exceptions                                       package unpackage;    package unpackage;                             ...
Les exceptions                                       package unpackage;    package unpackage;                             ...
Les exceptions                                       package unpackage;    package unpackage;                             ...
Les exceptions                                         package unpackage;    package unpackage;                           ...
Les exceptions                                         package unpackage;    package unpackage;                           ...
Les exceptions                                         package unpackage;    package unpackage;                           ...
Les exceptions                                         package unpackage;    package unpackage;                           ...
Les exceptions                                         package unpackage;    package unpackage;                           ...
Les exceptions                                       package unpackage;    package unpackage;                             ...
Les exceptions                                          package unpackage;    package unpackage;                          ...
Prochain SlideShare
Chargement dans…5
×

Exceptions

1 131 vues

Publié le

cours de java sur les exceptions

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 131
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
121
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Exceptions

  1. 1. Les exceptionsAxel KAMALAK
  2. 2. Les exceptionsLa notion dexception est un mécanisme permettant audéveloppeur JAVA de traiter de manière efficace et simple leproblème de la gestion des erreurs lors de lexécution dunprogramme.Il sagit dun signal qui indique quun évènement anormal estsurvenu dans un programme. La récupération de lexceptionpermet au programme de sexécuter.
  3. 3. Les exceptions Différentes causes sont à l’origine de ce problème :L’utilisateur
  4. 4. Les exceptions Différentes causes sont à l’origine de ce problème :L’utilisateur Le développeur
  5. 5. Les exceptionsDifférentes causes sont à l’origine de ce problème : L’utilisateur peut entrer des données non autorisées. Un chiffre au lieu d’un nombre, …
  6. 6. Les exceptionsDifférentes causes sont à l’origine de ce problème : Le développeur peut avoir oublié de tester une condition
  7. 7. Les exceptionsDifférentes causes sont à l’origine de ce problème : Le développeur peut avoir oublié de tester une condition
  8. 8. Les exceptionsDifférentes causes sont à l’origine de ce problème : Si le développeur écrit trop de test, le code devient vite illisible.
  9. 9. Les exceptionsDifférentes causes sont à l’origine de ce problème : Si le développeur écrit trop de test, le code devient vite illisible.Pour répondre à ce besoin, le langage JAVA propose la gestion desévènements.
  10. 10. Les exceptions Soit le programme suivant :package Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c =0 ;int somme = a*b/c;System.out.println(somme);}}
  11. 11. Les exceptions Soit le programme suivant :package Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c =0 ;int somme = a*b/c;System.out.println(somme);}}
  12. 12. Les exceptionspackage Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c =0 ;int somme = a*b/c;System.out.println(somme);}}
  13. 13. Les exceptionspackage Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c =0 ; L’utilisateur peut entrer 0int somme = a*b/c;System.out.println(somme);}}
  14. 14. Les exceptionspackage Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c =0 ; Génération d’erreurint somme = a*b/c;System.out.println(somme); Exception in thread "main" java.lang.ArithmeticException: / by zero}} at Exercice.Exercice3.main(Exercice3.java:11)
  15. 15. Les exceptions Nous pourrions résoudre ce problème à l’aide d’un test if – else.package Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ; Il faudrait tester que la variable cint b= 6 ; est différent de 0.int c =0 ;int somme = a*b/c;System.out.println(somme);}}
  16. 16. Les exceptions Nous pourrions résoudre ce problème à l’aide d’un test if – else.package Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ; Il faudrait tester que la variable cint b= 6 ; est différent de 0.int c =0 ;if(c!=0){int somme = a*b/c;System.out.println(somme);}}}
  17. 17. Les exceptions Nous pourrions résoudre ce problème à l’aide d’un test if – else.package Exercice;public class Exercice3 {public static void main (String [] args){int a = 5 ; Ce qui risque d’ alourdir le code etint b= 6 ; le code va vite devenir illisible.int c =0 ;if(c!=0){int somme = a*b/c;System.out.println(somme);}}}
  18. 18. Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c = 0 ;try{int somme = a*b/c;System.out.println(somme);}catch (ArithmeticException e){System.out.println("Interdit de diviser par 0 !");}}}
  19. 19. Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c = 0 ; Cette zone peut générertry{ une erreurint somme = a*b/c;System.out.println(somme);}catch (ArithmeticException e){System.out.println("Interdit de diviser par 0 !");}}}
  20. 20. Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c = 0 ;try{int somme = a*b/c;System.out.println(somme);}catch (ArithmeticException e){System.out.println("Interdit de diviser par 0 !");}}}
  21. 21. Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c = 0 ; On va mettre le codetry{ susceptible de générer uneint somme = a*b/c; erreur entre le bloc « try »System.out.println(somme);}catch (ArithmeticException e){System.out.println("Interdit de diviser par 0 !");}}}
  22. 22. Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ;int b= 6 ;int c = 0 ; Dans le cas d’une exception,try{ l’action à réaliser dans le blocint somme = a*b/c; « catch »System.out.println(somme);}catch (ArithmeticException e){System.out.println("Interdit de diviser par 0 !");}}}
  23. 23. Les exceptionspublic class Exercice3 {public static void main (String [] args){int a = 5 ; Il est possible de prévoirint b= 6 ; 1 ou plusieurs types d’actionsint c = 0 ; à réaliser.try{int somme = a*b/c;System.out.println(somme);}catch (ArithmeticException e){System.out.println("Interdit de diviser par 0 !");}}}
  24. 24. Les exceptionsSyntaxe JAVAtry{..}catch (ClasseException1 variable){…}catch (ClasseException2 variable){…}
  25. 25. Les exceptionsSyntaxe JAVAtry{Partie de code susceptible de générer une erreur}catch (ClasseException1 variable){}catch (ClasseException2 variable){…}
  26. 26. Les exceptionsSyntaxe JAVAtry{Partie de code susceptible de générer une erreur}catch (ClasseException1 variable){Action à réaliser si le cas appartient à ClasseException1}catch (ClasseException2 variable){…}
  27. 27. Les exceptionsSyntaxe JAVAtry{Partie de code susceptible de générer une erreur}catch (ClasseException1 variable){Action à réaliser si le cas appartient à ClasseException1}catch (ClasseException2 variable){Action à réaliser si le cas appartient à ClasseException2}
  28. 28. Les exceptionsLe bloc finallyUn bloc finally permet au programmeur de définir unensemble dinstructions qui est toujours exécuté, quelexception soit levée ou non, capturée ou non.La seule instruction qui peut faire quun bloc finallyne soit pas exécuté est System.exit().
  29. 29. Les exceptionspackage Exercice; try{ int somme = a*b/c;public class Exercice3 { System.out.println(somme);public static void main } (String [] args) catch (ArithmeticException e) {{ System.out.println("Interdit de diviser par 0 !");int a = 5 ;int b= 6 ; } finallyint c = 0 ; { System.out.println("Bloc Finally!"); } } } Le bloc finally sera exécuté à la fin !
  30. 30. Les exceptions package Exercice; try{ int somme = a*b/c; public class Exercice3 { System.out.println(somme); public static void main } (String [] args) catch (ArithmeticException e) { { System.out.println("Interdit de diviser par 0 !"); int a = 5 ; int b= 6 ; } finally int c = 0 ; { System.out.println("Bloc Finally!"); } } }Le résultat d’affichage est :Interdit de diviser par 0 !Bloc Finally!
  31. 31. Les exceptionsLes erreurs les plus fréquentes : Division par zéro pour les entiers : ArithmeticException référence nulle : NullPointerException Type illégale : ClassCastException Tentative de création dun tableau de taille négative : NegativeArraySizeException Dépassement de limite dun tableau : ArrayIndexOutOfBoundsException Format non valable : NumberFormatException
  32. 32. Les exceptionsLes erreurs les plus fréquentes : Division par zéro pour les entiers : ArithmeticException référence nulle : NullPointerException Type illégale : ClassCastException Tentative de création dun tableau de taille négative : NegativeArraySizeException Dépassement de limite dun tableau : ArrayIndexOutOfBoundsException Format non valable : NumberFormatExceptionEt si nous voulons créer nos propres exceptions?
  33. 33. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } }package unpackage;public class MonExption extends Exception { Les exceptionsMonExption(int v){ personnalisées.System.out.println("Le nombre de passager ne peut pas êtrenégatif:"+ v);}}
  34. 34. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } }package unpackage;public class MonExption extends Exception { Nous avons 3 classesMonExption(int v) Main ; Classe principale{System.out.println("Le nombre de passager ne peut pas être Passagers : Classe passagersnégatif:"+ v); MonException : Exception Personnalisée}}
  35. 35. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } } Etudions un cas où une exceptionpackage unpackage;public class MonExption extends Exception { n’est pas générée.MonExption(int v) On appelle la méthode{System.out.println("Le nombre de passager ne peut pas être « doNbPassager » avecnégatif:"+ v); « 5 » comme argument.}}
  36. 36. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } }package unpackage;public class MonExption extends Exception { La condition n’est pas respectée.MonExption(int v){System.out.println("Le nombre de passager ne peut pas êtrenégatif:"+ v);}}
  37. 37. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : } "+value); catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } } }package unpackage;public class MonExption extends Exception { On exécute le contenu du bloc elseMonExption(int v){System.out.println("Le nombre de passager ne peut pas êtrenégatif:"+ v);}}
  38. 38. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } }package unpackage;public class MonExption extends Exception { Etudions un cas où une exceptionMonExption(int v){ va être levée.System.out.println("Le nombre de passager ne peut pas êtrenégatif:"+ v);}}
  39. 39. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } }package unpackage;public class MonExption extends Exception { On appelle la méthode doNbPassagerMonExption(int v){ avec comme argument -12System.out.println("Le nombre de passager ne peut pas êtrenégatif:"+ v);}}
  40. 40. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } }package unpackage;public class MonExption extends Exception { La condition est respectée. -12 est unMonExption(int v){ nombre négatif.System.out.println("Le nombre de passager ne peut pas êtrenégatif:"+ v);}}
  41. 41. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } }package unpackage;public class MonExption extends Exception { On appelle l’exceptionMonExption(int v){ « MonException » par le biais du motSystem.out.println("Le nombre de passager ne peut pas être clé throw.négatif:"+ v);}}
  42. 42. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } }package unpackage;public class MonExption extends Exception { Nous arrivons dans la méthode quiMonExption(int v){ permet d’exécuter un messageSystem.out.println("Le nombre de passager ne peut pas être personnalisé en cas d’exception.négatif:"+ v);}}
  43. 43. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } }package unpackage;public class MonExption extends Exception { Nous affichons le message.MonExption(int v){System.out.println("Le nombre de passager ne peutpas être négatif:"+ v);}}
  44. 44. Les exceptions package unpackage; package unpackage; public class Passagers { public class Main { public static void main(String[] args) { void doNbPassager(int value) throws Passagers monTrain = new Passagers(); MonExption try{ { monTrain.doNbPassager(5); if(value < 0){ monTrain.doNbPassager(7); throw new MonExption(value); monTrain.doNbPassager(8); } monTrain.doNbPassager(-12); else { System.out.println("Nombre correct de passagers : "+value); } } catch(MonExption a){ } System.out.println ("Exception générée par : "+ a ); } } } }package unpackage;public class MonExption extends Exception { Nous exécutons le message contenuMonExption(int v){ dans le bloc catch. Ce bloc s’exécuteraSystem.out.println("Le nombre de passager ne peut pas être à chaque fois qu’une exception estnégatif:"+ v);} attrapée.}

×