Java的异常处理机制提供了一种结构化的方法应对程序中的错误和异常情况。
常见的两种异常:即运行时异常和编译时异常。
运行时异常(Runtime Exceptions)
1.继承自 RuntimeException 类。
2.编译时不强制处理,可以选择处理。
例如:数组越界访问异常,文件未查找到异常
编译时异常(Checked Exceptions)
1.继承自Exception类。
2.编译时检查,必须处理或声明,throw 或 try。
例如:空指针异常
另外还有Error即系统级异常,这并不需要我们开发人员关心。
try
java">try {// 可能抛出异常的代码
} catch (ExceptionType e) {// 处理异常的代码
} finally {// 始终执行的代码(可选)
}
try 块:放置可能抛出异常的代码。
catch 块:用于捕获和处理异常。可以有多个 catch 块,处理不同类型的异常。
finally 块:无论是否发生异常,始终执行。用于清理资源。
使用 try 捕获异常有许多好处:
- 提高程序的健壮性
通过捕获异常,可以防止程序在运行时因未处理的错误而崩溃。 - 提供错误处理机制
允许开发者决定如何处理异常(记录日志、重试操作、提供友好的错误信息等)。 - 清理资源
使用 finally 块确保资源(如文件、数据库连接)得到正确释放,即使发生异常。 - 隔离错误源
仅对可能发生异常的代码进行捕获,其他部分代码不受影响。 - 控制程序流
可以在异常发生时采取替代措施或执行备用逻辑,保证程序继续运行。
自定义异常