Java Exceptions - Try...Catch | Exam-Lib
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
Welcome to our Education website, plz like our page facebook to support us. Thank You and wish you good navigation

Java Exceptions - Try...Catch

abdelouafiNov 10, 2018

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      815
      Likes Received:
      14
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      Exceptions Java
      Lors de l'exécution du code Java, différentes erreurs peuvent se produire: erreurs de codage commises par le programmeur, erreurs dues à une entrée erronée ou autre chose imprévisible.

      En cas d'erreur, Java s'arrête normalement et génère un message d'erreur. Le terme technique utilisé est le suivant: Java générera une exception (une erreur).

      Java Try...Catch
      L'instruction try vous permet de définir un bloc de code à tester pour détecter les erreurs lors de son exécution.

      L'instruction catch vous permet de définir un bloc de code à exécuter en cas d'erreur dans le bloc try.

      Les mots clés try and catch viennent par paires:

      Syntaxe
      Code:
      try {
        //  Block of code to try
      }
      catch(Exception e) {
        //  Block of code to handle errors
      }
      Prenons l'exemple suivant:

      Cet exemple générera une erreur, car myNumbers [10] n’existe pas.
      Code:
      public class MyClass {
        public static void main(String[ ] args) {
          int[] myNumbers = new int[5];
          System.out.println(myNumbers[10]);
        }
      }
      La sortie (erreur) ressemblera à ceci:
      Code:
      Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
              at MyClass.main(MyClass.java:4)

      Si une erreur survient, nous pouvons utiliser try ... catch pour la détecter et exécuter du code pour la gérer:

      Exemple
      Code:
      public class MyClass {
        public static void main(String[ ] args) {
          try {
            int[] myNumbers = new int[5];
            System.out.println(myNumbers[10]);
          } catch (Exception e) {
            System.out.println("Something went wrong.");
          }
        }
      }
      // Outputs "Something went wrong."

      finally
      L'instruction finally vous permet d'exécuter du code, après avoir essayé ... catch, quel que soit le résultat:

      Exemple
      Code:
      public class MyClass {
        public static void main(String[] args) {
          try {
            int[] myNumbers = new int[5];
            System.out.println(myNumbers[10]);
          } catch (Exception e) {
            System.out.println("Something went wrong.");
          } finally {
            System.out.println("The 'try catch' is finished.");
          }
        }
      }
      
      // Something went wrong.
      // The 'try catch' is finished.

      Le mot clé throw
      L'instruction throw vous permet de créer une erreur personnalisée.

      L'instruction throw est utilisée avec un type d'exception. Il existe de nombreux types d'exceptions disponibles en Java: ArithmeticException, ClassNotFoundException, ArrayIndexOutOfBoundsException, SecurityException, etc.

      Le type d'exception est souvent utilisé avec une méthode personnalisée. Ne vous inquiétez pas si vous ne comprenez pas l'exemple ci-dessous, vous en apprendrez plus sur les méthodes dans le prochain chapitre:

      Exemple
      Lance une exception si l'âge est inférieur à 18 ans (imprimer "Accès refusé"). Si vous avez 18 ans ou plus, indiquez "Accès accordé":
      Code:
      public class MyClass {
        static void checkAge(int age){
          if(age < 18) {
            throw new ArithmeticException("Access denied - You must be at least 18 years old.");
          }
          else {
            System.out.println("Access granted - You are old enough!");
          }
        }
      
        public static void main(String[] args) {
          checkAge(15); // Set age to 15 (which is below 18...)
        }
      }

      Si vous aviez 20 ans, vous n’auriez pas d’exception:

      Exemple
      Code:
      checkAge(20);
      
      Code:
      public class MyClass {
        static void checkAge(int age){
          if(age < 18) {
            throw new ArithmeticException("Access denied - You must be at least 18 years old.");
          } else {
            System.out.println("Access granted - You are old enough!");
          }
      }
      public static void main(String[] args) {
         checkAge(20);
      }
      }
      
       
      Loading...

      Merci de partager ce post sur facebook

Share This Page

Share