异常体系
1. 异常的结构
Java异常分为两种:
- Exception
程序可以处理的异常,捕获异常可以进行处理。
- Error
程序无法处理的错误,在运行应用程序中出现错误。此类错误发生时,JVM 将终止线程。
2. Exception异常分类
Exception异常分为两类:
- 运行时异常
RuntimeException 类及其子类表示 JVM 在运行期间可能出现的错误。此类异常属于不可查异常,一般是由程序逻辑错误引起的,在程序中可以选择捕获处理,也可以不处理。
运行时发生错误
- 编译异常
Exception 中除 RuntimeException 类及其子类之外的 Exception 异常。如果程序中出现此类异常,必须对该异常进行处理,否则编译不通过。
对异常进行处理
3. Java异常分类
Java异常分为两类:
- 可查异常(checked)
可查异常是 除 RuntimeException 及其子类外,其他的 Exception 异常 都属于可查异常,编译器要求必须处理的异常。当编译器检查到应用中的某处可能会有此类异常时,将会提示你处理本异常,否则编译不通过。
- 不可查异常(unchecked)
不可查异常包括包括 运行时异常 RuntimeException 及其子类 和 错误 Error ,编译器不会进行检查并且不要求必须处理的异常,当程序中出现此类异常时,不作任何处理也能正常编译通过。