-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.

由于 catch 语句,我假设您知道前两个。

修复这些应该使您的程序编译。

于 2012-08-09T15:03:58.977 回答
1

它是 ArrayIndexOutOfBoundsException 而不是 ArrayindexoutofboundsException

于 2012-08-09T15:03:24.253 回答
0

在第一个 . 之后有一个额外的分号catch。删除它。另外,我不认为ArrayindexoutofboundsException是一个有效的例外,应该是ArrayIndexOutOfBoundsException

于 2012-08-09T15:01:32.410 回答
0

您将两个程序混合在一起,但只会抛出一个异常。你的程序基本上做同样的事情

public static void main(String... args) {
     int a = 10, b = 0;
     int ans = a / b;
}

这将打印抛出的异常。

于 2012-08-09T15:11:14.090 回答