遭遇 java.lang.ExceptionInInitializerError_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 遭遇 java.lang.ExceptionInInitializerError

遭遇 java.lang.ExceptionInInitializerError

 2013/10/17 15:19:58  wxl24life  程序员俱乐部  我要评论(0)
  • 摘要:刚才在测试一段代码时碰到了java.lang.ExceptionInInitializerError。简单搜了下资料,这个error出现的原因是:在静态初始化块(staticinitializer,包含静态变量初始化语句)中有uncheckedexception抛出而没有被捕获住。借助javadoc文档中的介绍,记录几个要点。1、首先,它是一个error,继承自java.lang.Error。java.lang.ExceptionInInitializerError的命名符合java规范
  • 标签:Java

刚才在测试一段代码时碰到了 java.lang.ExceptionInInitializerError。

?

简单搜了下资料,这个 error 出现的原因是:在静态初始化块(static initializer,包含静态变量初始化语句)中有 unchecked exception 抛出而没有被捕获住。

?

借助?java doc 文档?中的介绍,记录几个要点。

?

1、首先,它是一个 error,继承自?java.lang.Error。java.lang.ExceptionInInitializerError 的命名符合 java 规范 - 以 Error 结尾。

class="java" name="code">java.lang.Object
    java.lang.Throwable
        java.lang.Error
            java.lang.LinkageError
               java.lang.ExceptionInInitializerError

?

2、因为它是一个 error,如果试图去捕获(不推荐),需要 catch Throwable。

3、通过 Throwable.getCause() 方法可以找出 "元凶" - 静态初始化块中未捕获的 unchecked exception。

发表评论
用户名: 匿名