5. (自定义异常)创建两个自定义异常类 MyException1 和 MyException2。 要求: 1) MyException1 为已检查异常,MyException2 为未检查异常 2) 这两个异常均具有两个构造函数,一个无参,另一个带字符串参数,参数表 示产生异常的详细信息。
时间: 2023-05-27 09:01:42 浏览: 121
代码如下:
MyException1.java
```java
public class MyException1 extends Exception {
public MyException1() {}
public MyException1(String message) {
super(message);
}
}
```
MyException2.java
```java
public class MyException2 extends RuntimeException {
public MyException2() {}
public MyException2(String message) {
super(message);
}
}
```
在代码中,MyException1 继承了 Exception 类,因此它是一个已检查异常;MyException2 继承了 RuntimeException 类,因此它是一个未检查异常。
这两个异常类都显式地定义了两个构造函数,一个无参,另一个带字符串参数。在实际使用时,我们可以用这些构造函数来创建异常对象,指定异常信息并抛出异常。例如:
```java
try {
//...
if (somethingWrong) {
throw new MyException1("Some error occurred.");
}
//...
} catch (MyException1 e) {
// handle MyException1 here
}
try {
//...
if (somethingBad) {
throw new MyException2("Something really bad happened.");
}
//...
} catch (MyException2 e) {
// handle MyException2 here
}
```
在这个例子中,我们检查了某些条件,并在需要时抛出了 MyException1 或者 MyException2。在 catch 块中,我们可以对这些异常进行处理。由于 MyException1 是已检查异常,因此它必须在代码中被显式地处理或者被传递给更高一级的方法进行处理;而 MyException2 是未检查异常,可以选择处理或者不处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)