Attraper plusieurs exceptions en Java
- Attraper plusieurs exceptions à l’aide de plusieurs instructions Catch en Java
-
Attrapez plusieurs exceptions en utilisant
instanceOf
en Java -
Attrapez plusieurs exceptions dans un bloc de capture en utilisant
|
en Java
Aujourd’hui, nous allons examiner les façons dont nous pouvons utiliser et intercepter plusieurs exceptions en Java. Une exception dans Java se produit lorsqu’un événement indésirable se produit pendant l’exécution. La façon la plus courante de voir une exception consiste à utiliser les mots-clés try-catch. Ici, le try
contient le bloc de code à vérifier, et le catch
a le code à afficher lorsqu’une exception se produit.
Nous allons vérifier les trois méthodes pour utiliser plusieurs exceptions dans une seule capture avec les exemples suivants.
Attraper plusieurs exceptions à l’aide de plusieurs instructions Catch en Java
Dans l’exemple, nous prenons les deux entrées de type int de l’utilisateur, puis les divisons pour afficher le résultat. Notez que nous avons enfermé ce code dans un bloc try
; cela signifie qu’il doit aussi avoir un bloc catch
.
Plusieurs exceptions peuvent être levées comme InputMismatchException
lorsque la valeur saisie n’est pas de type int
et ArithmeticException
lorsque num2
obtient la valeur zéro car aucun nombre n’est divisé par zéro. Nous pouvons lancer une Exception
qui est le parent de toutes les autres exceptions.
Pour les intercepter tous, nous écrivons trois blocs catch
différents avec leurs types d’exception et imprimons le message pour montrer quand cette exception se produit. La sortie montre les différents résultats lorsqu’il n’y a pas d’exception et lorsqu’il y a des exceptions.
import java.util.InputMismatchException;
import java.util.Scanner;
public class MultiExceptions {
public static void main(String[] args) {
System.out.println("Enter two numbers: ");
Scanner sc = new Scanner(System.in);
try {
System.out.println("num1: ");
int num1 = sc.nextInt();
System.out.println("num2: ");
int num2 = sc.nextInt();
int dividedNum = num1 / num2;
System.out.println("After division result: " + dividedNum);
} catch (InputMismatchException e1) {
System.out.println("Error! - Please enter a number.");
} catch (ArithmeticException e2) {
System.out.println("Error! - You cannot divide any number with 0");
} catch (Exception e3) {
System.out.println("An error occurred please try again!");
}
}
}
Sortie 1 :
Enter two numbers : num1 : 10 num2 : 2 After division result : 5
Sortie 2 :
Enter two numbers : num1 : 50 num2 : hhh Error !-Please enter a number.
Sortie 3 :
Enter two numbers : num1 : 10 num2 : 0 Error !-You cannot divide any number with 0
Attrapez plusieurs exceptions en utilisant instanceOf
en Java
Une autre méthode que vous pouvez utiliser consiste à utiliser la fonction instanceOf
, qui vérifie si un objet est du type donné ou non ; il renvoie une valeur booléenne. Nous utilisons le même exemple que ci-dessus, mais ici nous utilisons un seul bloc catch
avec plusieurs instructions if.
Comme indiqué ci-dessus, l’Exception
est la classe parente des exceptions les plus courantes. Nous pouvons utiliser son objet pour vérifier si l’exception levée est du type donné. Ici, nous passons en revue les deux exceptions : InputMismatchException
et ArithmeticException
.
import java.util.InputMismatchException;
import java.util.Scanner;
public class MultiExceptions {
public static void main(String[] args) {
System.out.println("Enter two numbers: ");
Scanner sc = new Scanner(System.in);
try {
System.out.println("num1: ");
int num1 = sc.nextInt();
System.out.println("num2: ");
int num2 = sc.nextInt();
int dividedNum = num1 / num2;
System.out.println("After division result: " + dividedNum);
} catch (Exception e) {
if (e instanceof InputMismatchException) {
System.out.println("Error! - Please enter a number.");
} else if (e instanceof ArithmeticException) {
System.out.println("Error! - You cannot divide any number with 0");
} else {
System.out.println("An error occurred please try again!");
}
}
}
}
Production:
Enter two numbers:
num1:
d
Error! - Please enter a number.
Attrapez plusieurs exceptions dans un bloc de capture en utilisant |
en Java
Dans Java 7 et versions ultérieures, nous pouvons utiliser le symbole pipe ou OR au niveau du bit
pour écrire plusieurs exceptions dans un seul catch. Dans l’exemple, nous divisons les deux nombres entrés, puis vérifions si l’une des deux exceptions est vraie. Si c’est vrai, le message d’erreur sera imprimé.
import java.util.InputMismatchException;
import java.util.Scanner;
public class MultiExceptions {
public static void main(String[] args) {
System.out.println("Enter two numbers: ");
Scanner sc = new Scanner(System.in);
try {
System.out.println("num1: ");
int num1 = sc.nextInt();
System.out.println("num2: ");
int num2 = sc.nextInt();
int dividedNum = num1 / num2;
System.out.println("After division result: " + dividedNum);
} catch (InputMismatchException | ArithmeticException e) {
System.out.println("An error occurred please try again");
}
}
}
Production:
Enter two numbers:
num1:
f
An error occurred please try again
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn