可检查异常需要在方法上声明,一般要求调用者必须感知异常可能发生,并且对可能发生的异常进行处理。可以理解成系统正常状态下很可能发生的情况,通常发生在通过网络调用外部系统或者使用文件系统时,在这种情况下,错误是可能恢复的,调用者可以根据异常做出必要的处理,例如重试或者资源清理等。
非检查异常是不需要在throws子句中声明的异常。 JVM根本不会强制您处理它们,因为它们主要是由于程序错误而在运行时生成的。 它们扩展了RuntimeException。 最常见的例子是NullPointerException 可能不应该重试未经检查的异常,并且正确的操作通常应该是什么都不做,并让它从您的方法和执行堆栈中出来。 在高执行级别,应记录此类异常。 Error是最为严重的运行时错误,几乎是不可能恢复和处理, 一些示例是OutOfMemoryError,LinkageError和StackOverflowError。它们通常会使程序或程序的一部分崩溃。 只有良好的日志记录练习才能帮助您确定错误的确切原因.
Read full article from Spring源码解析
No comments:
Post a Comment