English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Les exceptions sont des problèmes qui se produisent pendant l'exécution du programme (erreurs de temps d'exécution). Lorsqu'une exception se produit, le programme s'arrête brusquement et le code après la ligne d'exception ne sera jamais exécuté.
import java.util.Scanner; public class ExceptionExample { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Entrez le premier nombre : "); int a = sc.nextInt(); System.out.println("Entrez le deuxième nombre : "); int b = sc.nextInt(); int c = a/b; System.out.println("Le résultat est : "+c); } }
Résultat de la sortie
Entrez le premier nombre: 100 Entrez le deuxième nombre: 0 Exception dans le thread "main" java.lang.ArithmeticException: / by zero at ExceptionExample
En Java, il y a deux types d'exceptions
Exception vérifiée - Les exceptions vérifiées sont des exceptions qui se produisent lors de la compilation, également appelées exceptions de compilation. Ces exceptions ne peuvent pas être ignorées simplement lors de la compilation. Les programmeurs doivent (traiter) ces exceptions.
Exception non vérifiée - Les exceptions non vérifiées sont des exceptions qui se produisent pendant l'exécution. Ces dernières sont également appelées exceptions de temps d'exécution. Elles incluent des erreurs de programmation, telles que des erreurs de logique ou une mauvaise utilisation de l'API. Les exceptions de temps d'exécution sont ignorées lors de la compilation.
Exception en temps de execution/Le mode d'affichage des exceptions non vérifiées est“Exception du thread principal”,c'est-à-dire, à chaque fois qu'une exception en temps de execution se produit, le message commence par cette ligne.
Dans le programme Java suivant, nous avons un tableau de taille5et essaye d'accéder à la6éléments, ce qui génère ArrayIndexOutOfBoundsException.
public class ExceptionExample { public static void main(String[] args) { //Création d'un tableau de taille5du tableau d'entiers int inpuArray[] = new int[5]; //Remplir l'array inpuArray[0] = 41; inpuArray[1] = 98; inpuArray[2] = 43; inpuArray[3] = 26; inpuArray[4] = 79; //Accès à l'index supérieur à la taille de l'array System.out.println(inpuArray[6]); } }
Exception dans le thread "main" java.lang.ArrayIndexOutOfBoundsException: 6 at MyPackage.ExceptionExample.main(ExceptionExample.java:14)
Dans l'exemple suivant, nous essayons de créer un tableau en utilisant un nombre négatif comme valeur de taille, ce qui génère NegativeArraySizeException.
public class Test { public static void main(String[] args) { int[] intArray = new int[-5]; } }
Lors de l'exécution, ce programme génère une exception en temps de execution, comme suit.
Exception dans le thread "main" java.lang.NegativeArraySizeException at myPackage.Test.main(Test.java:6)
Vous pouvez gérer les exceptions en temps de execution et éviter une terminaison anomale, mais il n'y a pas de programme spécifique pour les exceptions en temps de execution en Java, cela dépend de l'exception, du type de code à modifier spécifiquement.
Par exemple, si vous devez corriger ArrayIndexOutOfBoundsException dans le premier programme ci-dessus, vous devez supprimer/Modifier la ligne d'accès à l'index de l'array au-delà de sa taille.
public class ExceptionExample { public static void main(String[] args) { //Création d'un tableau d'entiers de taille 5 int inpuArray[] = new int[5]; //Remplir l'array inpuArray[0] = 41; inpuArray[1] = 98; inpuArray[2] = 43; inpuArray[3] = 26; inpuArray[4] = 79; //Accès à l'index supérieur à la taille de l'array System.out.println(inpuArray[3]); } }
Résultat de la sortie
26