Types de données et exceptions en Java
Jim White
Java Developer
Error est un problème graveimport java.util.*;
public class CauseOutOfMemory {
public static void main(String[] args) {
List<Long> numbers = new ArrayList<Long>();
long counter = 0;
while (true) {
numbers.add(counter);
counter++;
}
}
}
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.base/java.lang.Long.valueOf(Long.java:1204)
at foo/exceptions.CauseOutOfMemory.main(CauseOutOfMemory.java:12)
| Exception vérifiée | Exception d'exécution (« unchecked ») | |
|---|---|---|
| Gestion requise | Oui | Non |
| Cause générale | Choses hors de notre contrôle | Nos erreurs de programmation |
| Récupération | Généralement possible si prévue | Souvent non récupérable |
| Mécanisme de récupération | try/catch ou throws | Mieux vaut coder prudemment pour les éviter |
| Exemple d'exception | Fichier introuvable | Indice de tableau hors limites |
Exception qui ne sont pas aussi des sous-classes de RuntimeException sont des exceptions vérifiéesFileNotFoundException)RuntimeException est la superclasse de toutes les exceptions non vérifiéesIndexOutOfBoundsException)ArithmeticException)| Sous-classe de RuntimeException | Description du moment où elle est levée |
|---|---|
| ArithmeticException | Mauvais calcul arithmétique, comme une division par 0 |
| IndexOutOfBoundsException | Indice utilisé sur un tableau, une chaîne, etc., hors limites |
| NegativeArraySizeException | Tentative de créer un tableau avec une taille négative |
int y = 5/0; // Code causant une ArithmeticException
int[] list = new int[-1]; // Code causant une NegativeArraySizeException
Exception in thread "main" java.lang.ArithmeticException: / by zero
Exception in thread "main" java.lang.NegativeArraySizeException: -1
public class LoadClass {
public static void main(String[] args) {
Class myClass = Class.forName("com.mysql.Driver");
}
}
LoadClass.java:3: error: unreported exception ClassNotFoundException;
must be caught or declared to be thrown
Class myClass = Class.forName("com.mysql.Driver");
^
1 error
Types de données et exceptions en Java