Java のドキュメントによると、例外を「キャッチ」できるハンドラを指定するか、メソッド宣言で例外をスローすることが、チェックされた例外に必須であると記載されています。しかし、もしそうなら、例えば:
public class DivZero{
public static void main(String[] args){
int a=10;
int[] b={1,2,3,4,0};
for (int i=0;i<b.length;i++){
System.out.println(a/b[i]);
}
}
}
「try-catch」または「throws」宣言がなくても問題なく動作します。java.lang.ArithmeticExceptionをスローします。じゃあ義務じゃないの?コンパイラは、適切な Java の「Throwable」クラスを同じ方法で暗黙的にスローします。それはそうです?