java编写两个自己定义的异常类,然后在编写一个类,在其中编写两个方法f1()和f2()。在f2() 中抛出自己定义的第一个常类对象,在f1() 中调用f2(),并捕捉其中的异常,然后在catch字句中抛出第二个异常。
时间: 2023-06-15 09:05:59 浏览: 100
下面是一个示例代码实现:
```java
// 自定义异常类1
class MyException1 extends Exception {
public MyException1(String message) {
super(message);
}
}
// 自定义异常类2
class MyException2 extends Exception {
public MyException2(String message) {
super(message);
}
}
// 测试类
public class Test {
// 方法f2() 抛出自定义异常类1
public static void f2() throws MyException1 {
throw new MyException1("自定义异常类1");
}
// 方法f1() 调用f2(),并捕获异常,再抛出自定义异常类2
public static void f1() throws MyException2 {
try {
f2();
} catch (MyException1 e) {
System.out.println("捕获到自定义异常类1:" + e.getMessage());
throw new MyException2("自定义异常类2");
}
}
// 主函数
public static void main(String[] args) {
try {
f1();
} catch (MyException2 e) {
System.out.println("捕获到自定义异常类2:" + e.getMessage());
}
}
}
```
在上述代码中,我们定义了两个自定义异常类 `MyException1` 和 `MyException2`,分别用于抛出异常和捕获异常后再抛出新异常。在 `Test` 类中,我们定义了两个方法 `f1()` 和 `f2()`,其中 `f2()` 抛出自定义异常类1,而 `f1()` 则调用了 `f2()`,并捕获了其中的异常。如果捕获到了自定义异常类1,则会输出相关信息,并且抛出自定义异常类2。在 `main` 函数中,我们调用了 `f1()`,并捕获了自定义异常类2,输出相关信息。
阅读全文