java.lang.ArithmeticException
Cette exception indique une erreur lors d'un calculmathématique. Elle se déclenche notamment lors d'une division par zéro. Il est recommandé de vérifier attentivement les opérations mathématiques dans votre code afin de vous assurer qu'aucune règle de calcul n'est violée.
package utilitaires;
public class Calculateur {
public static void main(String[] args) {
int numerateur = 10;
int denominateur = 0;
int resultat = numerateur / denominateur;
System.out.println(resultat);
}
}
java.lang.ArrayIndexOutOfBoundsException
Cette exception très fréquente signalne un dépassement des limites d'un tableau. Lorsque vous manipulez des tableaux, vérifiez toujours que les indices utilisés ne dépassent pas la taille réelle du tableau. Les accès explicites avec des constantes sont généralement sécurisés, mais les accès implicites via des variables nécessitent une attention particulière.Lorsque la taille du tableau est déterminée dynamiquement, il est préférable de consulter la propriété length avant toute manipulation.
package donnees;
import java.util.Scanner;
public class ManipulateurTableau {
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int valeurs[] = new int[15];
for(int index = 0; index <= 15; index++) {
valeurs[index] = scanner.nextInt();
}
}
}
Dans cet exemple, le tableau est déclaré avec une capacité de 15 éléments, mais la boucle tentera d'accéder à l'indice 15, ce qui provoque le dépassement de capacité.
java.lang.NullPointerException
Cette exception survient fréquemment et signifie qu'un objet null est utilisé comme s'il était valide. Concrètement, le programme tente d'accéder à un objet qui n'a pas été initialisé ou qui n'existe pas. Cette erreur apparaît souvent lors de la manipulation d'images ou de tableaux non initialisés, comme une imagechargeée depuis un chemin incorrect. En ce qui concerne les tableaux, beaucoup de débutants confondent l'allocation mémoire du tableau avec l'initialisation de ses éléments. L'allocation crée l'espace nécessaire, mais les éléments doivent être individuellement enitialisés. La solution consiste à vérifier la nullité avant toute utilisation.
package donnees;
import java.util.Scanner;
public class Gestionnaire {
static Scanner scanner = new Scanner(System.in);
private int valeur;
public void definir(int nouvelleValeur) {
this.valeur = nouvelleValeur;
}
public static void main(String[] args) {
Gestionnaire[] collection = new Gestionnaire[5];
for(int i = 0; i < 5; i++) {
collection[i].definir(scanner.nextInt());
}
}
}
java.lang.StringIndexOutOfBoundsException
Exception d'indice de chaîne invalide. Elle se produit lors de l'accès à un caractère via un index négatif ou supérieur à la longueur de la chaîne.
java.lang.TypeNotPresentException
Exception type absent. Elle survient lorsqu'une application essaie d'accéder à un type via son nom textuel mais que ce type est introuvable. Contrairement à ClassNotFoundException qui est une exception vérifiée, TypeNotPresentException est une exception non vérifiée.
java.lang.InstantiationError
Erreur d'instanciation. Cette erreur se déclenche lorsqu'une application tente de créer une instance d'une classe abstraite ou d'une interface via l'opérateur new.
java.lang.LinkageError
Erreur de liaison. Cette catégorie d'erreurs indique qu'une classe dépend d'autres classes qui ont été modifiéesssans recompilation après la compilation de la première classe.
java.lang.IllegalArgumentException
Cette exception signale un paramètre invalide transmis à une méthode. De nombreuses méthodes des bibliothèques J2ME peuvent lever cette erreur, comme un méthode de régulation de volume recevant une valeur négative, ou la méthode setColor avec des valeurs RGB dépassant 255. Lors de l'apparition de cette exception, examinez les arguments passés aux méthodes concernées.
java.lang.IncompatibleClassChangeError
Erreur de changement de classe incompatible. Elle apparaît lorsque la définition d'une classe utilisée par une méthode a été modifiéede manière incompatible. Cela survient généralement après modification de certaines classses sans recompiler l'ensemble du projet.
java.lang.StackOverflowError
Erreur de débordement de pile. Elle se produit lorsque les appels récursifs exceedsnt la profondeur maximale de la pile d'exécution.
java.lang.IllegalArgumentException
Exception d'accès interdit. Elle se manifeste lorsqu'une application essaie d'appeler une classe sans disposer des droits d'accès nécessaires. Cette exception est particulièrement importante lors de l'utilisation de packages en Java.