我的伙伴的API的静态初始化有一些错误,并且让我抛出ExceptionInInitializerError。在捕获throwable时发现了这个。当抛出ExceptionInInitializerError时会发生什么?因为它没有被抓住或控制返回。执行继续执行,跳过执行的其余部分.Below是我的代码的骨架。
for(...) {
// pre callings statements
callsAnExtrenalAPI();
}
//inside callsAnExtrenalAPI implementation
try {
//Some miscellaneous code that caused the error
// Some good stuff which is never called
}catch(Exception e){
// Error Logging which is never called here.
}
抛出错误会发生什么?任何代码都已停止或以任何形式指出错误。
答案 0 :(得分:0)
ExceptionInInitializerError
是LinkageError
类的子类,表示静态初始值设定项或静态变量的初始值设定项中发生了意外异常。
要获取有关该例外的更多信息,您可以调用getException()
方法
答案 1 :(得分:0)
当抛出ExceptionInInitializerError
而没有被catch块捕获时,那个异常/错误应该传播给调用者。
如果由main()调用,则异常传递给system / jvm并且会 导致终止整个执行。