0% ont trouvé ce document utile (0 vote)
6 vues3 pages

Chap8 - Java - Exo

Le document présente le chapitre 8 sur les packages, exceptions et gestion des erreurs en Java, incluant un quiz pour tester les connaissances sur les différences entre Error et Exception, l'utilisation du bloc finally et les mots-clés associés aux exceptions. Il propose également des exercices pratiques pour sécuriser la saisie utilisateur et créer des exceptions personnalisées. Enfin, il aborde des pièges courants liés à la gestion des exceptions en Java.

Transféré par

karel Towanou
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues3 pages

Chap8 - Java - Exo

Le document présente le chapitre 8 sur les packages, exceptions et gestion des erreurs en Java, incluant un quiz pour tester les connaissances sur les différences entre Error et Exception, l'utilisation du bloc finally et les mots-clés associés aux exceptions. Il propose également des exercices pratiques pour sécuriser la saisie utilisateur et créer des exceptions personnalisées. Enfin, il aborde des pièges courants liés à la gestion des exceptions en Java.

Transféré par

karel Towanou
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

DR ZOTCHI GIOVANI – CHAP8 JAVA – EXO

Chapitre 8 : Packages, Exceptions et Gestion des Erreurs.

I. Quiz (QCM) - Test de connaissances


1. Quelle est la principale différence entre une Error et une Exception en Java ?

 A) Les Error sont causées par le développeur, les Exception par l'utilisateur.
 B) Une Error est un problème grave (souvent lié à la JVM) qu'on ne doit pas essayer
de capturer, tandis qu'une Exception peut et doit souvent être gérée.
 C) C'est exactement la même chose, ce sont juste des synonymes.
 D) Les Error doivent être capturées avec un bloc catch, pas les Exception.

2. À quoi sert le bloc finally ?

 A) À exécuter du code uniquement si aucune exception n'a été levée.


 B) À exécuter du code uniquement si une exception a été capturée.
 C) À arrêter définitivement l'exécution du programme.
 D) À exécuter du code dans tous les cas (erreur ou non), généralement pour libérer des
ressources (fermer un fichier, un scanner, etc.).

3. Quel mot-clé utilise-t-on dans la signature d'une méthode pour avertir qu'elle peut
déclencher une exception ?

 A) throw
 B) throws
 C) catch
 D) try

4. Quel mot-clé utilise-t-on à l'intérieur du code pour déclencher MANUELLEMENT


une exception ?

 A) throw
 B) throws
 C) raise
 D) yield

5. Qu'est-ce qu'une "Checked Exception" (Exception vérifiée) ?

 A) Une exception qui a déjà été corrigée par le développeur.


 B) Une exception liée à une erreur de logique pure (comme NullPointerException).
 C) Une exception que le compilateur Java vous oblige à gérer (via try-catch ou
throws), sinon le code ne compile pas.
 D) Une exception qui s'affiche en vert dans la console.

1
DR ZOTCHI GIOVANI – CHAP8 JAVA – EXO

II. Exercices d'application


Exercice 1 : Sécuriser une saisie utilisateur Écrivez un programme (méthode main) qui
demande à l'utilisateur de saisir son âge (un entier) à l'aide d'un Scanner.

1. Utilisez un bloc try-catch pour capturer l'exception InputMismatchException au


cas où l'utilisateur taperait du texte (ex: "vingt") au lieu d'un nombre.
2. Si l'erreur se produit, affichez : "Erreur : Veuillez saisir un nombre entier."
3. Ajoutez un bloc finally qui affiche : "Fin de la tentative de saisie."

Exercice 2 : Créer et lancer une exception personnalisée

1. Créez une classe d'exception personnalisée nommée SoldeNegatifException qui


hérite de Exception. Son constructeur doit accepter un message d'erreur.
2. Créez une classe Compte avec un attribut solde (double).
3. Ajoutez une méthode retirer(double montant) qui lance (throw) votre
SoldeNegatifException si le montant à retirer est supérieur au solde. Sinon, elle
déduit le montant.

III. Les Exercices


Piège n°1 : L'ordre des catch Pourquoi ce code refuse-t-il de compiler ?

Java
try {
int resultat = 10 / 0;
} catch (Exception e) {
[Link]("Une erreur générale est survenue.");
} catch (ArithmeticException e) {
[Link]("Erreur mathématique !");
}

Piège n°2 : Le code mort (Unreachable code) Quelle est l'erreur de compilation dans cette
méthode ?

Java
public void verifierAge(int age) {
if (age < 18) {
throw new IllegalArgumentException("Trop jeune !");
[Link]("Vérification terminée."); // Que se passe-t-il
ici ?
}
}

Piège n°3 : Le duel return vs finally Qu'est-ce que cette méthode va afficher dans la
console, et quelle valeur va-t-elle retourner ?

Java
public int testFinally() {
try {
[Link]("Dans le try");
return 1;

2
DR ZOTCHI GIOVANI – CHAP8 JAVA – EXO

} finally {
[Link]("Dans le finally");
return 2;
}
}

Vous aimerez peut-être aussi