Java的异常处理是基于一个精心设计的异常体系结构,该体系结构以类层次的方式组织在java.lang.Throwable
类及其子类中。所有的异常和错误都是从这个基类派生出来的。以下是Java异常体系结构的主要组成部分:
-
java.lang.Throwable
:所有异常和错误的顶级父类,包含两个主要的直接子类:-
java.lang.Error
:表示运行时环境无法恢复的问题,如系统资源耗尽、JVM内部错误等。程序不应该捕获或抛出Error对象,除非进行非常特殊的情况处理。- 示例:
VirtualMachineError
,ThreadDeath
,OutOfMemoryError
- 示例:
-
java.lang.Exception
:一般性程序异常,是可以被预期并捕获和处理的异常情况。Exception类又分为检查性异常(Checked Exceptions)和运行时异常(Unchecked Exceptions):-
检查性异常(Checked Exceptions):这些异常通常代表了方法不能完成其正常功能的原因,如文件不存在、网络连接中断等。这类异常在编译时期就需要显式地声明或者捕获。例如:
IOException
,SQLException
- 子类:
java.io.IOException
,java.sql.SQLException
<
- 子类:
-
-