Why there is checked and unchecked exception in Java
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Java: checked vs unchecked exception explanation
Why are exceptions named checked and unchecked?
为什么Java中的两个异常类型名为"checked"和"unchecked"? 选择此类例外的原因是什么?
已检查的异常扩展
在决定是否应该使用已检查与未检查的异常时,请始终记住以下规则:
-
Exception S是应用程序想要处理的情况。 -
RuntimeException S是您(通常)由于编程错误而无法处理的情况。您不应该捕获RuntimeException S,它们应该在您的单元测试中作为目标,并在您的生产代码中修复。 -
Error S是由于严重错误而无法处理的情况,例如系统问题(例如文件系统失败)。您不应该抛出,捕获或子类化Error ,除非您正在为JVM构建诸如编译器之类的东西。
类
未经检查的异常类在java中免于编译时检查,因为它们可能在程序中的许多点发生,并且很难或不可能从它们中恢复。它们还取决于程序员的逻辑。例如,当JVM无法为程序分配更多内存时,抛出