public class exdemo1 {
public static void main(String args[]) {
int a = 10, b = 0, ans;
int arr[] = {10, 20, 30};
try {
ans = a / b;
System.out.println("Division" + ans);
System.out.println("4th Element" + arr[3]);
} catch (ArithmeticException ae) ;
{
System.out.println(ae);
}
catch (ArrayindexoutofboundsException ae) {
System.out.println(ae);
}
}
}
5 に答える
3
;
コードが適切にフォーマットされたので、最初のcatchブロックの後に余分なものがあることに気付くでしょう。
于 2012-08-09T15:01:43.423 に答える
2
正確な意味はわかりませんが、私が気づいている問題は次のとおりです。
- あなたの配列には4番目の要素がありません。3つの要素があり、最後の要素には次の方法でアクセスできます
arr[2]
- 0 で割ることはできません。
catch (ArithmeticException ae) ;
;
行末の を削除する必要がありますが、その必要はありません。ArrayindexoutofboundsException
適切なクラスはArrayIndexOutOfBoundsException
.
最初の 2 つについては、catch ステートメントのおかげで知っていると思います。
それらを修正すると、プログラムがコンパイルされます。
于 2012-08-09T15:03:58.977 に答える
1
これは ArrayIndexOutOfBoundsException であり、ArrayindexoutofboundsException ではありません
于 2012-08-09T15:03:24.253 に答える
0
2つのプログラムを混在させましたが、スローされる例外は1つだけです。あなたのプログラムは基本的に同じことをします
public static void main(String... args) {
int a = 10, b = 0;
int ans = a / b;
}
これにより、スローされた例外が出力されます。
于 2012-08-09T15:11:14.090 に答える
0
最初のの後に余分なセミコロンがありますcatch
。それを削除します。また、私は有効な例外ではないと思います、そうArrayindexoutofboundsException
すべきArrayIndexOutOfBoundsException
ですか?
于 2012-08-09T15:01:32.410 に答える