在Java中,catch块是用于捕获和处理异常的代码块。它通常跟在try块之后,try块中的代码是可能会抛出异常的代码。
当try块中的代码抛出一个异常时,Java运行时系统会查找匹配的catch块来处理这个异常。匹配的catch块是其参数类型与抛出的异常类型相同或者是其父类的catch块。一旦找到匹配的catch块,就会执行该块中的代码来处理异常。
一个try块可以跟随一个或多个catch块。这允许你处理try块中可能抛出的多种类型的异常。如果try块中的代码可能抛出多种类型的异常,你可以为每种异常类型提供一个单独的catch块。
以下是一个示例,演示了如何使用catch块:
public class CatchExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
try {
System.out.println(numbers[5]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Error: Index is out of bounds.");
}
}
}
运行结果:
在这个例子中,try块中的代码试图访问数组numbers的第五个元素,但这个元素不存在,所以会抛出一个ArrayIndexOutOfBoundsException异常。catch块捕获这个异常,并输出一条错误消息。
注意,catch块的参数e是一个异常对象,它包含了有关异常的信息。在这个例子中,我们没有使用这个异常对象,但在更复杂的程序中,你可以使用这个对象来获取更详细的异常信息,如异常的类型和发生异常的地方。