在Java中,异常是指在程序执行过程中出现的非正常情况。Java的异常机制提供了一种优雅的方式来处理这些异常情况,保证程序的健壮性和稳定性。Java中的异常可以分为三大类:检查异常(Checked Exception)、非检查异常(Unchecked Exception),以及错误(Error)。下面是详细描述:
异常的分类
检查异常(Checked Exception)
- 定义:检查异常是程序运行过程中可以预见并可以合理恢复的异常。
- 特征:必须在代码中显式地捕获或声明(使用
try-catch
块或在方法签名中使用throws
声明)。 - 常见类型:
IOException
、SQLException
、ClassNotFoundException
等。 - 处理方式:调用者必须处理这些异常或者在方法签名中继续声明抛出。
public void readFile(String filePath) throws IOException {
FileReader fileReader = new FileReader(filePath);
// read file
}
非检查异常(Unchecked Exception)
- 定义:非检查异常是程序运行过程中出现的不可预见的异常,通常是编程错误导致的,比如逻辑错误或违反API契约。
- 特征:不需要显式地捕获或声明,编译器不会强制要求处理。
- 常见类型:
NullPointerException
、ArrayIndexOutOfBoundsException
、IllegalArgumentException
等。 - 处理方式:可以选择处理这些异常,但更常见的是通过改进代码逻辑来避免这些异常。
public void divide(int a, int b