异常体系

1. 异常的结构

image.png
Java异常分为两种:

  1. Exception

程序可以处理的异常,捕获异常可以进行处理。
image.png

  1. Error

程序无法处理的错误,在运行应用程序中出现错误。此类错误发生时,JVM 将终止线程。
image.png

2. Exception异常分类

Exception异常分为两类:

  1. 运行时异常

RuntimeException 类及其子类表示 JVM 在运行期间可能出现的错误。此类异常属于不可查异常,一般是由程序逻辑错误引起的,在程序中可以选择捕获处理,也可以不处理。
image.png
运行时发生错误
image.png

  1. 编译异常

Exception 中除 RuntimeException 类及其子类之外的 Exception 异常。如果程序中出现此类异常,必须对该异常进行处理,否则编译不通过。
image.png
对异常进行处理
image.png

3. Java异常分类

Java异常分为两类:

  1. 可查异常(checked)

可查异常是 除 RuntimeException 及其子类外,其他的 Exception 异常 都属于可查异常,编译器要求必须处理的异常。当编译器检查到应用中的某处可能会有此类异常时,将会提示你处理本异常,否则编译不通过。
image.png

  1. 不可查异常(unchecked)

不可查异常包括包括 运行时异常 RuntimeException 及其子类 和 错误 Error ,编译器不会进行检查并且不要求必须处理的异常,当程序中出现此类异常时,不作任何处理也能正常编译通过。
image.png