Bonjour,
Je ne comprends pas vraiment l'intérêt de throws/throw. Par exemple, si j'ai ça :
... quel et l'intérêt d'écrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 class X { public static void main(String[] a) { int i = 10, j = 0; try { System.out.println(Y.m(i,j)); } catch (ArithmeticException e) { System.out.println("catched"); } } } class Y { static double m(int i, int j) { return i/j; } }
ou encore :
Code : Sélectionner tout - Visualiser dans une fenêtre à part static double m(int i, int j) throws ArithmeticException {J'ai cru comprendre aussi qu'il fallait mettre throws dans la méthode susceptible de générer l'erreur et throw à l'endroit où l'erreur est détectée, mais pour moi ça n'est qu'une différence de syntaxe. Quelle est la différence "conceptuelle" (pour ainsi dire) entre throw et throws ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class Y { static double m(int i, int j) { if (j == 0) throw new ArithmeticException(); return i/j; } }
Merci pour vos éclaircissements (les exams sont la semaine prochaine ^^)
++
Partager