0
A
回答
4
静态初始化程序不能抛出检查异常,因为类的初始化可能发生在代码中的有效任意位置,此时不会期望检查的异常。
静态初始化程序可以抛出未经检查的异常,这将阻止该类正确初始化并阻止该类被使用。但是,这样做会导致难以调试的问题。
这个规则是在§8.7 Static Initializers of the JLS:
相关问题
- 1. 为什么静态数据成员不能被初始化?
- 2. 为什么我不能用C初始化静态字段++
- 3. 为什么实例和静态内部类初始化不同?
- 4. 为什么不能Indy 10初始化?
- 5. 静态初始化
- 6. 为什么我不能在初始化程序列表中初始化静态变量?
- 7. 为什么初始化为静态指针无效?
- 8. Java中静态初始化和动态初始化有什么区别?
- 9. 为什么我不能在类声明之外初始化非静态成员?
- 10. 为什么不能在结构体中初始化非静态字段?
- 11. 为什么静态成员必须在main()之外初始化?
- 12. Nodejs为什么数组用静态原型初始化?
- 13. 为什么要在结构中初始化const静态变量?
- 14. 为什么我的静态类没有在ASP.NET MVC初始化?
- 15. 为什么我会在java中使用静态初始化块?
- 16. 为什么要在C++中初始化静态类变量?
- 17. 为什么静态const char *模板struct成员未初始化
- 18. 如何把这种静态初始化成一个动态的
- 19. 静态HashMap的初始化
- 20. 静态变量初始化
- 21. 静态初始化混淆
- 22. 静态变量初始化
- 23. 静态变量初始化
- 24. 静态初始化数组?
- 25. 初始化静态结构
- 26. 初始化静态向量
- 27. 静态ImmutableArray未初始化
- 28. Spring的静态初始化
- 29. 静态对象初始化
- 30. 静态属性初始化