↑
QCM CHAPITRE 9

Exercices de révision

Testez vos connaissances sur les exceptions en Java
Ce QCM couvre toutes les sections du chapitre 9 : les concepts essentiels (définition d'une exception, exceptions vérifiées et non vérifiées), les mécanismes de gestion (try/catch, finally), et les exceptions personnalisées (création et utilisation). Répondez aux questions puis vérifiez vos réponses en cliquant sur le bouton "Afficher les réponses".

9.1 – Concepts essentiels

1

Qu'est-ce qu'une exception en Java ?

Choix unique
2

Quelle est la classe racine de toutes les exceptions en Java ?

Choix unique
3

Quelles sont les raisons de gérer les exceptions ?

Choix multiples
4

Qu'est-ce qu'une exception vérifiée (checked exception) ?

Choix unique
5

Qu'est-ce qu'une exception non vérifiée (unchecked exception) ?

Choix unique
6

Quelles sont les différences entre exceptions vérifiées et non vérifiées ?

Choix multiples
7

Quel est le résultat de ce code :

String texte = null;
int longueur = texte.length();
Choix unique
8

Quel est le résultat de ce code :

import java.io.FileReader;
import java.io.IOException;

FileReader reader = new FileReader("fichier.txt");
Choix unique
9

Quels sont des exemples d'exceptions vérifiées ?

Choix multiples
10

Quels sont des exemples d'exceptions non vérifiées ?

Choix multiples

9.2 – MĂ©canismes de gestion

11

Quelle est la structure de base d'un bloc try/catch ?

Choix unique
12

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");
Choix unique
13

Quand on a plusieurs blocs catch, dans quel ordre doivent-ils ĂȘtre placĂ©s ?

Choix unique
14

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");
}
Choix unique
15

Que fait le mot-clé throws dans une méthode ?

Choix unique
16

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");
Choix unique
17

Quand le bloc finally s'exécute-t-il ?

Choix unique
18

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");
}
Choix unique
19

Qu'est-ce que try-with-resources (Java 7+) ?

Choix unique
20

Quel est le résultat de ce code :

try {
    return 10;
} finally {
    System.out.println("Dans finally");
}
Choix unique

9.3 – Exceptions personnalisĂ©es

21

Comment créer une exception vérifiée personnalisée ?

Choix unique
22

Comment créer une exception non vérifiée personnalisée ?

Choix unique
23

Quel mot-clé est utilisé pour lancer une exception ?

Choix unique
24

Quelle est la différence entre throw et throws ?

Choix unique
25

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());
}
Choix unique
26

Peut-on ajouter des attributs et méthodes à une exception personnalisée ?

Choix unique
27

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);
Choix unique