用java 对以上异常分别进行处理
时间: 2023-07-20 09:11:39 浏览: 96
好的,我来给您写一个Java程序,它会产生上述四种异常,并对其进行处理。
```java
import java.io.*;
public class ExceptionDemo {
public static void main(String[] args) {
try {
// 数组越界异常
int[] arr = new int[5];
System.out.println(arr[5]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组越界异常:" + e.getMessage());
e.printStackTrace(); // 打印异常堆栈信息
}
try {
// 算数异常
int a = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("算数异常:" + e.getMessage());
e.printStackTrace(); // 打印异常堆栈信息
}
try {
// 空指针异常
String str = null;
System.out.println(str.length());
} catch (NullPointerException e) {
System.out.println("空指针异常:" + e.getMessage());
e.printStackTrace(); // 打印异常堆栈信息
}
try {
// 输入输出异常
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
while (br.readLine() != null) {
System.out.println(br.readLine());
}
} catch (FileNotFoundException e) {
System.out.println("找不到文件异常:" + e.getMessage());
e.printStackTrace(); // 打印异常堆栈信息
} catch (IOException e) {
System.out.println("输入输出异常:" + e.getMessage());
e.printStackTrace(); // 打印异常堆栈信息
}
}
}
```
在这个程序中,我们通过使用数组越界、算数、空指针、文件读取等方式来产生四种异常。在捕获异常时,我们使用了多个 try-catch 语句分别处理不同的异常类型,并输出了相应的异常信息。同时,我们还使用了 e.printStackTrace() 方法打印异常堆栈信息,方便我们进行调试。这样即可完成该程序。
阅读全文