定义一个方法,该方法能够捕捉文件打开异常、数组下标越界异常,抛出除数为0异常、全代码
时间: 2023-06-18 14:07:00 浏览: 129
以下是一个示例代码,展示如何定义一个方法来捕捉多种异常并抛出自定义异常:
```java
public class ExceptionHandlingExample {
public static void main(String[] args) {
try {
// 调用方法,可能会抛出异常
doSomething();
} catch (FileOpenException | IndexOutOfBoundsException e) {
// 捕捉文件打开异常和数组下标越界异常
System.err.println("发生了文件打开或数组下标越界异常:" + e.getMessage());
} catch (ArithmeticException e) {
// 捕捉除数为0异常
System.err.println("发生了除以0异常:" + e.getMessage());
} catch (Exception e) {
// 捕捉所有其他异常
System.err.println("发生了未知异常:" + e.getMessage());
}
}
private static void doSomething() throws FileOpenException, IndexOutOfBoundsException {
try {
// 读取一个文件
FileReader reader = new FileReader("file.txt");
} catch (FileNotFoundException e) {
// 如果文件不存在,抛出自定义的文件打开异常
throw new FileOpenException("文件打开失败:" + e.getMessage());
}
int[] array = new int[5];
try {
// 尝试访问一个数组元素
int value = array[10];
} catch (IndexOutOfBoundsException e) {
// 如果下标越界,抛出自定义的数组下标越界异常
throw new IndexOutOfBoundsException("数组下标越界:" + e.getMessage());
}
int a = 10;
int b = 0;
// 尝试除以0,抛出除数为0异常
int result = a / b;
}
}
// 自定义文件打开异常类
class FileOpenException extends Exception {
public FileOpenException(String message) {
super(message);
}
}
```
这个示例代码中的 `doSomething` 方法可能会抛出三种异常:文件打开异常、数组下标越界异常和除数为0异常。在 `main` 方法中,我们使用多个 `catch` 语句来捕捉不同的异常,并打印相应的错误信息。此外,还定义了一个自定义的文件打开异常类 `FileOpenException`,用于抛出文件打开异常。
阅读全文