public class HelloWorld {
static {
try {
int i=10/0;
} catch(ExceptionInInitializerError | ArithmeticException e ) {
e.printStackTrace();
}
}
public static void main(String []args) {
System.out.println("Hello World");
}
}
出力:
java.lang.ArithmeticException: / by zero
at HelloWorld.<clinit>(HelloWorld.java:7)
このコードには実際の目的はありません。しかし、なぜそれが倒れたのか疑問に思いArithmeticException
ましたExceptionInInitializerError
。multi-catch ステートメントを試してみて、これに遭遇しました。
以下のコードは をスローしExceptionInInitializerError
ます。したがって、論理的には、try-multicatch を使用すると をキャッチする必要ExceptionInInitializerError
がありますが、ここではそうではありません。誰でもここで私を助けてくれますか。
public class HelloWorld {
static int i = 10/0;
public static void main(String []args){
System.out.println("Hello World");
}
}
出力:
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.ArithmeticException: / by zero
at HelloWorld.<clinit>(HelloWorld.java:4)