在 Java 中,异常处理机制,包括异常的分类、如何使用 try-catch
、finally
、throws
等关键字、如何抛出和声明异常、如何捕获多个异常、如何编写健壮的异常处理代码等。
1. 什么是异常?
异常是程序运行过程中出现的非正常情况,通常会导致程序中断或错误的结果。在 Java 中,异常是一个对象,继承自 Throwable
类。异常分为两类:
- 检查型异常(Checked Exception):是编译时异常,必须在代码中处理或声明。例如,
IOException
、SQLException
等。 - 非检查型异常(Unchecked Exception):是运行时异常,通常由程序的逻辑错误引起,可以选择不处理。例如,
NullPointerException
、ArrayIndexOutOfBoundsException
等。
2. 什么是 try-catch
块?如何使用?
try-catch
块用于捕获和处理异常。try
块包含可能抛出异常的代码,catch
块用于捕获并处理异常。
try { int result = 10 / 0; // 可能抛出 ArithmeticException
} catch (ArithmeticException e) {System.out.println("Error: Division by zero");
}
try
块中代码抛出异常时,程序会跳转到对应的catch
块进行处理。如果没有异常,catch
块会被跳过。
3. finally
块的作用是什么?
finally
块用于执行清理操作,无论是否发生异常,finally
块中的代码都会被执行。它常用于释放资源,如关闭文件流、数据库连接等。
try {// 可能抛出异常的代码
}