私はJavaで例外をキャッチしようとしていますが、いくつか問題があります。確かに、私はセットアップはArithmeticExceptionキャッチに&試しているが、例外はいくつかのケースでキャッチされていません...Java例外catch初心者
マイRecursion.java:
import java.lang.ArithmeticException;
public class Recursion {
private int u0;
private int u1;
public Recursion(int u0, int u1) {
this.u0 = u0;
this.u1 = u1;
}
public int boucle (int n) throws ArithmeticException{
switch (n) {
case 0 :
return this.u0;
case 1 :
return this.u1;
}
try{
if ((n%2) == 0) {
return (boucle(n-1)/boucle(n-2)) - (boucle(n-2)/boucle (n-1));
}
else{
return (boucle(n-2)/boucle(n-1)) - (boucle(n-1)/boucle (n-2));
}
}
catch (ArithmeticException e){
System.out.println("Erreur division par 0 !");
throw e;
}
}
}
マイMain.java:
public class Main {
public static void main(String[] args){
Recursion monObjet1 = new Recursion (100,2);
Recursion monObjet2 = new Recursion (100,1);
System.out.println(monObjet2.boucle(10));
}
}
I入手:
Erreur division par 0 !
Erreur division par 0 !
Erreur division par 0 !
Erreur division par 0 !
Exception in thread "main" java.lang.ArithmeticException:/by zero
at Recursion.boucle(Recursion.java:32)
at Recursion.boucle(Recursion.java:32)
at Recursion.boucle(Recursion.java:32)
at Recursion.boucle(Recursion.java:28)
at Main.main(Main.java:11)
なぜ例外がキャッチされないのか分かりません出力コードの
いくつかはフランス語であることができる...私はあなたのコンソールで見ることができるよう
よろしく、 アストラス
例外をキャッチしてから、「スローe」で再度スローします。 – wero