【发布时间】:2018-02-07 13:50:41
【问题描述】:
为什么JVM不允许从静态块抛出Unchecked Exception? 但它仍然隐式地允许它们(例如:在 null 对象上调用方法)。
注意:这个问题更多是学术性的,而不是来自现实生活的问题。
【问题讨论】:
标签: java exception static unchecked-exception
为什么JVM不允许从静态块抛出Unchecked Exception? 但它仍然隐式地允许它们(例如:在 null 对象上调用方法)。
注意:这个问题更多是学术性的,而不是来自现实生活的问题。
【问题讨论】:
标签: java exception static unchecked-exception
你可以用一点技巧把它扔掉,但你会得到ExceptionInInitializerError:
表示静态初始化程序中发生了意外异常。抛出 ExceptionInInitializerError 以指示在计算静态初始化程序或静态变量的初始化程序期间发生了异常。
static {
try {
throw new RuntimeException();
}
catch (IllegalArgumentException ignored){}
}
java.lang.ExceptionInInitializerError
引起:java.lang.RuntimeException
...
【讨论】: