Cheminement des Exceptions

Que produit le programme suivant lorsqu’on lui fournit en données :

  • la valeur 0,
  • la valeur 1,
  • la valeur 2.
class Except extends Exception {
    public Except(int n) { this.n = n; }
    public int n;
}

public class Chemin {
    public static void main(String[] args) {
        int n;
        System.out.print("donnez un entier : ");
        n = Clavier.lireInt();
        
        try {
            System.out.println("debut premier bloc try");
            if (n != 0) throw new Except(n);
            System.out.println("fin premier bloc try");
        } catch (Except e) {
            System.out.println("catch 1 - n = " + e.n);
        }
        
        System.out.println("suite du programme");
        
        try {
            System.out.println("debut second bloc try");
            if (n != 1) throw new Except(n);
            System.out.println("fin second bloc try");
        } catch (Except e) {
            System.out.println("catch 2 - n = " + e.n);
            System.exit(-1);
        }
        
        System.out.println("fin programme");
    }
}

 

Correction

Ici, il faut simplement savoir que lorsque le gestionnaire d’exception ne comporte pas d’arrêt de l’exécution (ou d’instruction return), l’exécution se poursuit à l’instruction suivant le dernier gestionnaire associé au bloc try.

En définitive, voici quels seront les trois exemples d’exécution correspondant aux trois réponses proposées :

donnez un entier : 0
debut premier bloc try
fin premier bloc try
suite du programme
debut second bloc try
catch 2 - n = 0

donnez un entier : 1
debut premier bloc try
catch 1 - n = 1
suite du programme
debut second bloc try
fin second bloc try
fin programme

donnez un entier : 2
debut premier bloc try
catch 1 - n = 2
suite du programme
debut second bloc try
catch 2 - n = 2

Si vous avez trouvé les exercices corrigés en Java de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 652027193 | Réaliser Par Joël_Yk

Bouton Vert Citron Scintillant PLUS D'EXERCICES
Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam