请问各位,自定义了一个编译时异常后,在测试类中的myException方中new出它的对象,然后对这个异常的处理方式为向上抛出,在main方法中调用myException方法并捕捉了这个异常,为什么catch分支中的222不能被打印出来呢?谢谢!
因为myException()方法体内并没有异常;
方法一
给一个异常,例如
public void myException() throws MyException {
int result = 1/0;
}
方法二
直接抛出MyException异常
public void myException() throws MyException {
throw new MyException();
}
要先抛出异常,然后才能捕获。new MyException()只是new了一个异常类,并没有抛出。所有你需要在new MyException()前加上throw。
public void myException() throws MyException {
throw new MyException();
}