用Java写一个例子实现自定义异常的抛出和捕获和Java内置异常的捕获与处理
时间: 2024-03-05 12:50:13 浏览: 63
好的,我可以为你提供一个综合例子,同时实现自定义异常的抛出和捕获,以及Java内置异常的捕获和处理。
```
// 自定义一个异常类
class MyException extends Exception {
MyException(String message) {
super(message);
}
}
public class Test {
public static void main(String[] args) {
try {
int[] arr = {1, 2, 3};
// 访问数组越界
System.out.println(arr[3]);
} catch (ArrayIndexOutOfBoundsException e) {
// 捕获数组越界异常并打印异常信息
System.out.println("数组下标越界了");
} finally {
try {
// 抛出自定义异常
throw new MyException("这是我自定义的异常");
} catch (MyException e) {
// 捕获自定义异常并打印异常信息
System.out.println(e.getMessage());
}
}
}
}
```
在这个例子中,我们首先访问了数组的第四个元素,导致抛出了Java内置的数组越界异常,然后在finally块中抛出了我们自定义的异常。在catch块中,我们分别捕获了这两种异常,并打印了异常信息。这个例子可以很好地演示Java中异常的处理机制,同时也说明了finally块的作用,它可以在程序执行完try或catch块后无论是否发生异常都会执行。
阅读全文