Exceptions Java - Essayer... Attraper
Exception Java
Lors de l'exécution du code Java, différentes erreurs peuvent survenir : erreurs de codage faites par le programmeur, erreurs dues à une mauvaise saisie ou autres choses imprévisibles.
Lorsqu'une erreur se produit, Java s'arrête normalement et génère un message d'erreur. Le terme technique pour cela est : Java lèvera une exception (lancera une erreur).
Java essayer et attraper
L' try
instruction vous permet de définir un bloc de code à tester pour les erreurs pendant son exécution.
L' catch
instruction vous permet de définir un bloc de code à exécuter, si une erreur se produit dans le bloc try.
Les mots-clés try
et catch
vont par paires :
Syntaxe
try {
// Block of code to try
}
catch(Exception e) {
// Block of code to handle errors
}
Considérez l'exemple suivant :
Cela générera une erreur, car myNumbers[10] n'existe pas.
public class Main {
public static void main(String[ ] args) {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]); // error!
}
}
La sortie ressemblera à ceci :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at Main.main(Main.java:4)
Si une erreur se produit, nous pouvons utiliser try...catch
pour intercepter l'erreur et exécuter du code pour la gérer :
Exemple
public class Main {
public static void main(String[ ] args) {
try {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]);
} catch (Exception e) {
System.out.println("Something went wrong.");
}
}
}
La sortie sera :
Something went wrong.
Enfin
L' finally
instruction vous permet d'exécuter du code, après try...catch
, quel que soit le résultat :
Exemple
public class Main {
public static void main(String[] args) {
try {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]);
} catch (Exception e) {
System.out.println("Something went wrong.");
} finally {
System.out.println("The 'try catch' is finished.");
}
}
}
La sortie sera :
Something went wrong.
The 'try catch' is finished.
Le mot-clé lancer
L' throw
instruction vous permet de créer une erreur personnalisée.
L' throw
instruction est utilisée avec un type d'exception . Il existe de nombreux types d'exceptions disponibles en Java : ArithmeticException
,
FileNotFoundException
, ArrayIndexOutOfBoundsException
, SecurityException
, etc :
Exemple
Lancer une exception si l' âge est inférieur à 18 ans (imprimer "Accès refusé"). Si l'âge est de 18 ans ou plus, écrivez "Accès accordé":
public class Main {
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...)
}
}
La sortie sera :
Exception in thread "main" java.lang.ArithmeticException: Access denied - You must be at least 18 years old.
at Main.checkAge(Main.java:4)
at Main.main(Main.java:12)
Si l' âge était de 20 ans, vous n'obtiendriez pas d'exception :
Exemple
checkAge(20);
La sortie sera :
Access granted - You are old enough!