Java 异常体系梳理

Java 异常体系

在这里插入图片描述

Error

Error 表示系统致命的错误,程序无法处理,Error 类一般是指 JVM 相关的问题,如系统崩溃、虚拟机错误、内存空间不足等。常见的 Error 如 StackOverFlowError、OutOfMemoryError,对于这类错误,应用程序无法处理与恢复。

Exception

Exception 是 程序可以处理 的异常,可以被捕获可以被恢复,如上图所示,Exception 主要分为两种 RuntimeException 和 非RuntimeException。

一、RuntimeException

RuntimeException 表示运行时异常,不可预知,比如数组下标越界(ArrayIndexOutOfBoundsException)、空指针异常(NullPointerException)等,对于这类异常,应该由程序员在编程时自行避免。

二、非 RuntimeException

非RuntimeException 是可预知的异常,编译器可以检查出来,也叫可检查异常,比如 IOException、FileNotFoundException、SQLException 等。这种异常在编译时不能被简单地忽略,必须选择捕获处理或者继续抛出。

总结

 
从责任的角度的来讲:

  • Error 属于 JVM 需要负担的责任
  • RuntimeException 属于程序员需要负担的责任
  • CheckedException(可检查异常)是 Java 编译器需要负担的责任

猜你喜欢

转载自blog.csdn.net/u013568373/article/details/94733387