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