java中自定义异常的问题(100分)

  • 主题发起人 主题发起人 阿韬
  • 开始时间 开始时间

阿韬

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么下面这个代码执行后,打印的不是1111,而打印的是2222。我的想法是在test函数里面抛出MyException的异常,然后再main里面来扑获这个异常并进行处理。程序应该怎么修改?
public static void main(String[] args) {
// TODO 自动生成方法存根
try {
test();
} catch (MyException e) {
System.out.println("1111");
}
}
public static void test() throws MyException {
try {
String a = "tmp";
if (a.equals("tmp")) {
throw new MyException();
}
}
catch (Exception e) {
System.out.println("2222");
}
}
其中MyException是自定义异常类
public class MyException
extends Exception {
public FrameException() {
}
}
 
test()里面已经捕获了MyException异常,所以函数声明里面的throws MyException没有作用,可以不要。
 
xfcy,我的test函数里面并没有捕获MyException异常,只是捕获了Exception异常
 
MyException是Exception的子类
所有Exception的子类都会给捕获!
就是说所有异常都会捕获
 
明白了,3ks,给分
 

Similar threads

后退
顶部