-5
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);
        }
    }
}
4

5 に答える 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 に答える