Redéclenchement d’une exception et choix du gestionnaire
bonsoir a tous , j'ai une question consernant les exception, je suis tombé sur un exercice et voici ce que je ne comprend pas, d'abord voici le code.
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
class Erreur extends Exception {}
class Erreur1 extends Erreur {}
class Erreur2 extends Erreur {}
class A
{ public A(int n) throws Erreur
{ try
{ if (n==1) throw new Erreur1() ;
if (n==2) throw new Erreur2() ;
if (n==3) throw new Erreur() ;
}
catch (Erreur1 e)
{ System.out.println ("** Exception Erreur1 dans constructeur A") ;
}
catch (Erreur e)
{ System.out.println ("** Exception Erreur dans constructeur A") ;
throw (e) ;
}
}
}
public class Test
{ public static void main (String args[])
{ int n ;
for (n=1 ; n<=3 ; n++)
{ try
{ A a = new A(n) ;
}
catch (Erreur1 e)
{ System.out.println ("*** Exception Erreur1 dans main") ;
}
catch (Erreur2 e)
{ System.out.println ("*** Exception Erreur2 dans main") ;
}
catch (Erreur e)
{ System.out.println ("*** Exception Erreur dans main") ;
}
System.out.println ("--------------") ;
}
System.out.println ("fin main") ;
}
} |
a quoi sert cette instruction , j'ai l'habitude de voir
Code:
throw new Nomexception() ;
serte j'ai executé le code , mais je ne sais pas reélement ce qu'elle signifie.
donc si quelqu'un a une idée 8O