为什么静态初始值设定项不能抛出expetion [duplicate]

问题描述

|                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

静态初始值设定项不会引发检查异常,因为类的初始化可以发生在代码中有效的任意位置,在该位置将不会发生检查异常。 静态初始值设定项可能引发未经检查的异常,这将导致无法正确初始化该类并阻止使用该类。但是,这样做将导致难以调试的问题。 规则在JLS的§8.7静态初始化程序中:   静态初始化程序能够通过检查异常(§11.2)突然完成(§14.1,§15.6),这是编译时错误。