6. 自定义三种新的异常,写一个类,在一个方法中抛出这三种异常。在main( )里调用这个方法,仅用一个catch子句捕获这三种异常。
时间: 2023-12-10 11:37:11 浏览: 42
以下是实现代码:
```java
class CustomException1 extends Exception {
public CustomException1(String message) {
super(message);
}
}
class CustomException2 extends Exception {
public CustomException2(String message) {
super(message);
}
}
class CustomException3 extends Exception {
public CustomException3(String message) {
super(message);
}
}
class ExceptionDemo {
public static void throwExceptions() throws CustomException1, CustomException2, CustomException3 {
int exceptionNumber = (int) (Math.random() * 3);
switch (exceptionNumber) {
case 0:
throw new CustomException1("This is CustomException1");
case 1:
throw new CustomException2("This is CustomException2");
case 2:
throw new CustomException3("This is CustomException3");
default:
break;
}
}
public static void main(String[] args) {
try {
throwExceptions();
} catch (CustomException1 | CustomException2 | CustomException3 e) {
System.out.println(e.getMessage());
}
}
}
```
在上述代码中,我们定义了三个自定义异常类CustomException1、CustomException2和CustomException3,并在一个方法throwExceptions()中随机抛出其中的一个异常。在main()方法中,我们使用一个catch子句同时捕获这三种异常,并打印出异常信息。
当我们运行该程序时,有可能会得到如下输出:
```
This is CustomException3
```
也有可能会得到其他的输出。这是因为throwExceptions()方法是随机抛出异常的,所以每次运行时的输出都可能不同。
阅读全文