Exception non gérée en Java
Ce didacticiel présente ce qu’est une exception non gérée et comment la gérer en Java.
Une exception est une condition qui arrête l’exécution d’un code de manière anormale et conduit à l’arrêt du code.
En Java, des exceptions peuvent se produire soit par un mauvais code, soit par une défaillance du système, comme des problèmes de mémoire. Java fournit une prise en charge complète pour gérer les exceptions afin que le code puisse s’exécuter sans interruption et fournir le résultat souhaité.
Une exception qui n’est pas gérée est appelée exception non gérée et conduit à terminer le code avant son exécution.
Dans cet article, nous expliquerons ce qu’est une exception non gérée et comment la gérer. Comprenons avec quelques exemples.
Exception non gérée en Java
Nous allons prendre deux valeurs entières dans cet exemple d’un utilisateur et les diviser. Ce code fonctionne correctement sans erreur ni exception, mais Java n’exécute pas le code et lève une exception si le diviseur est égal à zéro.
Comme nous n’avons utilisé aucun gestionnaire d’exceptions ici, le code arrête l’exécution et se termine anormalement. On peut voir la console pour comprendre la raison de l’exception.
Cette exception n’est pas gérée, et nous pouvons voir à quel point elle peut être dangereuse si elle n’est pas gérée correctement.
import java.util.Scanner;
public class SimpleTesting {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter any two values");
int val1 = sc.nextInt();
int val2 = sc.nextInt();
double result = val1 / val2;
System.out.println("result " + result); // this statement does not execute
}
}
Production :
Enter any two values
30
0
Exception in thread "main" java.lang.ArithmeticException: / by zero
at myproject.SimpleTesting.main(SimpleTesting.java:13)
Exception gérée en Java
Ici, nous utilisons un gestionnaire (bloc try-catch) pour gérer l’exception. Ce code est similaire au code ci-dessus, sauf qu’il contient le bloc try-catch
et permet au code de s’exécuter même après l’exception.
Notez la dernière instruction print du code. Dans le code ci-dessus, cette instruction ne s’exécute pas en raison d’une exception.
Pourtant, il s’exécute même après avoir obtenu une exception dans le code ci-dessous, car maintenant le code ne se termine pas. De plus, il saute le code et commence à s’exécuter en imprimant le résultat sur la console.
Voir l’exemple ci-dessous.
import java.util.Scanner;
public class SimpleTesting {
public static void main(String[] args) {
double result = 0.0;
try {
Scanner sc = new Scanner(System.in);
System.out.println("Enter any two values");
int val1 = sc.nextInt();
int val2 = sc.nextInt();
result = val1 / val2;
} catch (Exception e) {
System.out.println("Exception occured " + e);
}
System.out.println("result " + result);
}
}
Production :
Enter any two values
30
0
Exception occured java.lang.ArithmeticException: / by zero
result 0.0