用java编写一个含有ArithmeticException、IndexOutOfBoundsException和NullPointerException的异常处理程序。通过switch case语法,把使用java.util.Scanner输入的1、2、3三个数字作为选项来测试异常。每种异常都由try catch语法来描述。
时间: 2024-02-22 16:55:06 浏览: 82
java编程异常处理
好的,我会为您编写一个符合要求的Java程序,请您看一下以下代码是否满足您的需求:
```java
import java.util.Scanner;
public class ExceptionTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字 1、2、3 来测试异常:");
int option = scanner.nextInt();
scanner.close();
try {
switch (option) {
case 1:
int a = 1 / 0;
break;
case 2:
int[] arr = new int[3];
arr[3] = 1;
break;
case 3:
String str = null;
str.length();
break;
default:
System.out.println("输入的数字不是 1、2、3 中的任何一个!");
break;
}
} catch (ArithmeticException e) {
System.out.println("捕获到 ArithmeticException 异常:" + e.getMessage());
} catch (IndexOutOfBoundsException e) {
System.out.println("捕获到 IndexOutOfBoundsException 异常:" + e.getMessage());
} catch (NullPointerException e) {
System.out.println("捕获到 NullPointerException 异常:" + e.getMessage());
}
}
}
```
在该程序中,我们使用了一个 `Scanner` 实例来读取用户输入的数字,然后通过 `switch` 语法来选择异常类型的测试。每种异常类型都在 `try` 语法块中进行测试,如果捕获到了相应的异常,就会进入相应的 `catch` 语法块中进行处理并输出异常信息。
阅读全文