在Java中,异常机制是通过使用try-catch-finally
语句块来捕获和处理异常的。以下是捕获异常的基本步骤:
try
语句块包裹可能抛出异常的代码。try
语句块中,如果发生异常,Java会立即跳转到相应的catch
语句块。如果没有异常发生,catch
语句块将被跳过。try
语句块后跟多个catch
语句块,用于捕获不同类型的异常。当发生异常时,Java会根据异常类型选择最匹配的catch
语句块。try
或catch
语句块中有需要执行的清理操作,可以使用finally
语句块。无论是否发生异常,finally
语句块都会被执行。下面是一个简单的示例:
public class ExceptionExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
try {
// 可能抛出ArrayIndexOutOfBoundsException的代码
int num = numbers[5];
System.out.println("This line will not be executed if an exception occurs.");
} catch (ArrayIndexOutOfBoundsException e) {
// 处理ArrayIndexOutOfBoundsException的代码
System.out.println("An exception occurred: " + e.getMessage());
} finally {
// 清理操作的代码
System.out.println("This block will be executed regardless of whether an exception occurred.");
}
}
}
在这个示例中,我们尝试访问数组中不存在的元素,这会抛出一个ArrayIndexOutOfBoundsException
。异常被捕获并处理,程序继续执行finally
语句块。