9.1 â Concepts essentiels
Qu'est-ce qu'une exception en Java ?
Quelle est la classe racine de toutes les exceptions en Java ?
Quelles sont les raisons de gérer les exceptions ?
Qu'est-ce qu'une exception vérifiée (checked exception) ?
Qu'est-ce qu'une exception non vérifiée (unchecked exception) ?
Quelles sont les différences entre exceptions vérifiées et non vérifiées ?
Quel est le résultat de ce code :
String texte = null;
int longueur = texte.length();
Quel est le résultat de ce code :
import java.io.FileReader;
import java.io.IOException;
FileReader reader = new FileReader("fichier.txt");
Quels sont des exemples d'exceptions vérifiées ?
Quels sont des exemples d'exceptions non vérifiées ?
9.2 â MĂ©canismes de gestion
Quelle est la structure de base d'un bloc try/catch ?
Quel est le résultat de ce code :
try {
int resultat = 10 / 0;
System.out.println("Résultat : " + resultat);
} catch (ArithmeticException e) {
System.out.println("Erreur : " + e.getMessage());
}
System.out.println("Programme continue");
Quand on a plusieurs blocs catch, dans quel ordre doivent-ils ĂȘtre placĂ©s ?
Quel est le résultat de ce code :
try {
int[] nombres = new int[5];
int valeur = nombres[10];
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Index hors limites");
} catch (Exception e) {
System.out.println("Erreur générale");
}
Que fait le mot-clé throws dans une méthode ?
Quel est le résultat de ce code :
try {
System.out.println("1. Dans try");
int resultat = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("2. Dans catch");
} finally {
System.out.println("3. Dans finally");
}
System.out.println("4. AprĂšs try/catch/finally");
Quand le bloc finally s'exécute-t-il ?
Quel est le résultat de ce code :
try {
System.out.println("1. Dans try");
int resultat = 10 / 2;
System.out.println("2. Résultat : " + resultat);
} catch (ArithmeticException e) {
System.out.println("3. Dans catch");
} finally {
System.out.println("4. Dans finally");
}
Qu'est-ce que try-with-resources (Java 7+) ?
Quel est le résultat de ce code :
try {
return 10;
} finally {
System.out.println("Dans finally");
}
9.3 â Exceptions personnalisĂ©es
Comment créer une exception vérifiée personnalisée ?
Comment créer une exception non vérifiée personnalisée ?
Quel mot-clé est utilisé pour lancer une exception ?
Quelle est la différence entre throw et throws ?
Quel est le résultat de ce code :
public class AgeInvalideException extends Exception {
public AgeInvalideException(String message) {
super(message);
}
}
public void setAge(int age) throws AgeInvalideException {
if (age < 0) {
throw new AgeInvalideException("Ăge invalide");
}
this.age = age;
}
// Utilisation
try {
setAge(-5);
} catch (AgeInvalideException e) {
System.out.println(e.getMessage());
}
Peut-on ajouter des attributs et méthodes à une exception personnalisée ?
Quel est le résultat de ce code :
public class SoldeInsuffisantException extends RuntimeException {
public SoldeInsuffisantException(String message) {
super(message);
}
}
public void retirer(double montant) {
if (montant > solde) {
throw new SoldeInsuffisantException("Solde insuffisant");
}
solde -= montant;
}
// Utilisation (sans try/catch)
retirer(1000);