usage de la clause throws
Bonjour,
Lorsque j'utilise la clause throws après la déclaration d'une fonction comme dans l'exemple ci-dessous, la clause throws signifie t-elle que la fonction moyenne peut lancer une erreur de type MonExceptionVide mais sans avoir le droit de l'attraper dans la fonction moyenne ( ce qui signifie donc qu'elle doit l'être dans la méthode qui appelle la fonction moyenne)ou est-il possible quand j'utilise la clause throws comme ci-dessous, d'attraper l'erreur de type MonExceptionVide au sein même de la fonction moyenne?
J'ai déjà fait un test qui ne m'a pas renvoyé d'erreur lorsque j'ai attrapé l'erreur de type MonExceptionVide dans la méthode moyenne, mais peut être est il quand même incorrect de procéder ainsi??
Je vous remercie beaucoup de votre aide.
Bien cordialement.
Nathalie
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
public class exemplelancer{
public static int moyenne(String[]liste) throws MonExceptionVide{instructions propres à la fonction moyenne
int nbnotes=0;
if(nbnotes==5) throw new MonExceptionVide();
}
public static void main(String[]args){
try{
System.out.println("la moyenne est"+moyenne(args));
}
catch(MonExceptionVide e ){
System.out.println(e);
}
}// fin de classe exemplelancer |
usage de la clause throws
Bonjour,
Donc si j'ai bien compris rien n'empêche d'attraper une exception d'un type défini par l'utilisateur dans la méthode dans la quelle elle est lancée.
Pour ce qui est de l'exemple donné par Tchize, il peut tout à fait se produire le fait que a==b ;donc il est possible qu'une erreur du type MachinException se produise.C'est peut être ce qu'a voulu lui dire Thelvin.
Si j'ai bien compris également, le compilateur genèrera une erreur s'il est impssible qu'une erreur d'un type défini par l'utilisateur se produise.
Pouvez vous me confirmer si j'ai bien compris ce qui est à comprendre.
Merci beaucoup à vous.
Cordialement.
Nathalie