Exercice Java : Cheminement des exceptions et choix du gestionnaire

Exercice java traite le  sujet suivant:

Cheminement des exceptions et choix du gestionnaire

Lorsqu’une exception est déclenchée dans un bloc try, on recherche parmi les différents gestionnaires associés celui qui  correspond à l’objet mentionné à throw. L’examen a lieu dans l’ordre où les gestionnaires apparaissent. On sélectionne le premier qui est soit du type exact de l’objet, soit d’un type de base. Cette possibilité peut être exploitée pour regrouper plusieurs exceptions qu’on souhaite traiter plus ou moins finement.

Examinons ce petit Exercice java:

Quels résultats fournit ce programme ?

1

Que se passe-t-il si l’on inverse l’ordre des deux gestionnaires dans le second bloc try ?

Dans le premier bloc try, l’appel du constructeur de A déclenche une exception de type Erreur_d. Celle-ci est traitée par l’unique gestionnaire relatif au type Erreur, lequel convient effectivement puisque Erreur_d dérive de Erreur. Dans le second bloc try, on déclenche la même exception mais, cette fois, deux gestionnaires lui sont associés. Le premier  trouvé convient et c’est donc lui qui est exécuté. En définitive, on obtient les résultats suivants :

1

Notez bien qu’ici, les messages apres creation… ne sont pas affichés puisque les deux blocs try sont interrompus  auparavant.
Si l’on inverse l’ordre des deux gestionnaires dans le second bloc try, on obtient une erreur de compilation car le second n’a aucune chance d’être sélectionné.

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>