Bonjour,
Je cherche à savoir si lorsqu'une exception est levée et traitée dans un catch , il y a interruption du programme ?
Quel rôle joue exactement l'instruction throw monexecption ?
Merci de votre aide
Bonjour,
Je cherche à savoir si lorsqu'une exception est levée et traitée dans un catch , il y a interruption du programme ?
Quel rôle joue exactement l'instruction throw monexecption ?
Merci de votre aide
Bonjour,
ton programme n'est pas interrompu, mais les intructions présentes entre la ligne en erreur et ton catch ne seront pas exécutées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 try { int a = 1; int b = 0; int c = a / b; // Erreur String toto = monObjet.maMethode(); // Code non exécuté toto = toto + "bla bla"; // Code non exécuté } catch (ArithmeticException e) { e.printStackStrace();// Code exécuté } monObjet.maMethode(); // Code exécuté
bonjour,
merci pour votre réponse. C'est bien ce que je pensais.
Y a t'il un moyen d'interrompre le programme lors d'une exception ?
Autre question le bloc finally est il toujours exécuté même s'il n'y a pas d'exception ?
Merci
Oui, le finally est toujours exécuté, à la fin du bloc try s'il n'y a pas eu d'erreur ou à la fin d'un bloc catch sinon.
Qu'entends-tu exactement par interrompre?
Si c'est terminer brutalement le processus, tu peux faire un System.exit dans ton catch.
ou alors utiliser une RuntimeException, qui n'a pas besoin d'être catchée (mais qui peut l'être)
Si elle n'est pas catchée, le comportement par défaut est de terminer le thread qui l'a provoquée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ... if(condition) throw new RuntimeException("le thread va se terminer!");
Oui le bloc finally est toujours exécuté.
Oui tu peux interrompre le programme, par exemple par un System.exit()...
merci pour votre aide.
le faite de rajouter l'instructionpeut servir à quoi ?throw monexception
De manière générale, il signale une erreur.
On s'en sert pour interrompre un traitement lorsque cela n'a pas de sens.
Par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public int calulerNombreFibo(int index) { if (index < 0) { throw new InvalidArgumentException("Index must be a positive integer"); } // Calcul ... }
Partager