QCM gestion des exceptions Java

publicité
QCM – Exercices Java
- La gestion des exceptions -
Q.C.M. Connaissances préalables
Ce Q.C.M. doit être réalisé avant l’exploitation des exercices dédiés aux exceptions.
Il vous permet de :
vous assurer que vous maîtrisez les concepts liés à la gestion des exceptions.
revoir éventuellement certaines parties du support de la série 4 « La gestion des exceptions »
pour lever toute ambiguïté sur le sujet.
NB : Pour certaines questions, plusieurs propositions peuvent convenir. Cochez alors les
réponses que vous jugerez pertinentes.
Questions réflexives préalables.
A quoi servent les exceptions dans un programme Java ?
Quels avantages procurent-elles au développeur et à l’application elle-même ?
1. En Java, pendant la phase de compilation, certaines exceptions :
☐peuvent être levées si elles sont surveillées.
☐peuvent être levées si elles sont non surveillées.
☐peuvent être levées si elles héritent de la classe Error.
☐peuvent être levées si elles sont issues de l‘API Java.
☐ne sont jamais levées pendant la compilation.
☐peuvent être levées quel que soit leur type.
2. Les exceptions dont la classe dérive de java.lang.Error représentent :
☐des exceptions surveillées.
☐des exceptions héritées de Throwable.
☐des exceptions déclenchées par la JVM.
☐des exceptions non surveillées.
☐souvent des erreurs liées à l’utilisation d’une classe.
3. En Java, les exceptions non surveillées :
☐ne peuvent pas être gérées par un try/catch.
☐peuvent hériter de la classe Error.
☐sont vérifiées par le compilateur.
☐héritent de la classe RuntimeException.
☐sont obligatoirement issues de l’API Java.
☐sont obligatoirement des classes codées par le développeur.
4. En Java, les exceptions surveillées :
☐héritent de la classe Error.
☐sont obligatoirement des classes codées par le développeur.
☐héritent de la classe RuntimeException.
☐héritent de la classe Exception mais pas de RuntimeException.
☐sont vérifiées par le compilateur.
☐sont obligatoirement capturées dans un bloc catch.
AFPA / Mai 2014
QCM-Exercices Java-La gestion des exceptions
Page 1/3
5. Les exceptions surveillées :
☐ contraignent impérativement le développeur à mettre en œuvre un bloc try/catch ou
utiliser la clause throws.
☐imposent la mise en œuvre de la clause finally si la clause throws est mise en œuvre.
☐ concernent pour la plupart les opérations d’entrées/sorties (fichiers, réseau, accès base de
données).
☐doivent faire l’objet de l’affichage et de l’enregistrement dans des fichiers de log.
☐ sont vérifiées préventivement par le compilateur pour produire des programmes plus
robustes.
6. Le mot clé throw :
☐permet de déléguer à la méthode appelante la gestion de l’exception.
☐est utilisé uniquement pour les exceptions issues de classes codées par le développeur.
☐est suivi immédiatement par le nom d’une classe.
☐peut s’utiliser dans un constructeur.
☐est suivi par une instance d’exception qui peut être anonyme.
☐est suivi par une instance dérivée uniquement de la classe RuntimeException.
☐permet de capturer plusieurs types d’exception.
7. Le mot clé catch :
☐ne sert à attraper que des exceptions surveillées.
☐reçoit en paramètre que des exceptions surveillées de l’API Java.
☐peut apparaître plusieurs fois derrière un même bloc try.
☐peut contenir dans son bloc associé des instructions levant des exceptions.
☐plusieurs blocs catch consécutifs doivent impérativement respecter un certain ordre.
8. Quelles sont les contraintes à respecter lorsque dans le bloc d’une méthode le mot-clé throw est
utilisé ?
☐aucune contrainte n’est imposée si l’exception déclenchée est non surveillée.
☐il faut obligatoirement faire apparaitre un bloc try/catch au sein de ce bloc.
☐ il faut obligatoirement faire apparaître la clause throws dans l’entête de la méthode que
l’exception soit surveillée ou non.
☐il faut instancier une exception.
☐si l’exception est surveillée, il faut soit traiter localement l’exception, soit la transmettre à la
méthode appelante.
☐aucune précaution à respecter si l’exception est issue d’une classe codée par le
développeur.
AFPA / Mai 2014
QCM-Exercices Java-La gestion des exceptions
Page 2/3
9. Le mot-clé throws :
☐permet de lancer une exception surveillée ou non surveillée.
☐peut être précisé dans l’entête d’une méthode pour signaler une possible levée d’exception
surveillée dans cette méthode.
☐peut être précisé dans l’entête d’une méthode pour signaler une possible levée d’exception
non surveillée dans cette méthode.
☐peut être précisé dans l’entête d’une méthode peut indiquer à la méthode appelante que
plusieurs catégories d’exception peuvent être levées.
☐permet de propager l’exception que l’auteur de la méthode ne souhaite pas traiter
localement.
10. Question réflexive N1 :
Aucune classe d’exception de l’API Java ne correspond aux exceptions que vous souhaitez
déclencher.
Quelle démarche mettez-vous en œuvre ?
Quelle(s) méthode(s) doivent comporter vos classes d’exception ?
Ecrivez sur une feuille libre le canevas type des classes mises en jeu .
Dans un projet de l’IDE où rangez-vous vos classes d’exception ?
11. Réflexions concernant une instance de la classe Class .
Que permet-elle ?
Quel est le rôle de la méthode forName (String ) et quel type de données renvoie-t-elle ?
Quel est le rôle du paramètre de type String reçu par forName(…) ?
Quel est le rôle de la méthode newInstance() ?
Peut-on appeler la méthode getClass() sur n’importe quelle instance ? Pourquoi ?
AFPA / Mai 2014
QCM-Exercices Java-La gestion des exceptions
Page 3/3
QCM-EXERCICES-JAVA-API-COLLECTIONS
Copyright
Chef de projet (responsable du produit de formation)
PERRACHON Chantal, DIIP Neuilly-sur-Marne
Ont participé à la conception
COULARD Michel, CFPA Evry Ris-Orangis
Réalisation technique
COULARD Michel, CFPA Evry Ris-Orangis
Crédit photographique/illustration
Sans objet
Reproduction interdite / Edition 2014
AFPA Mai 2014
Association nationale pour la Formation Professionnelle des Adultes
13 place du Général de Gaulle – 93108 Montreuil Cedex
www.afpa.fr
Téléchargement