public void shape() throws ArithmeticException {
try{
int i=2/0;
throw new ArithmeticException();
}catch(ArithmeticException e){
System.out.println("catch "+e);
}
}
请告诉我异常流程
答案 0 :(得分:2)
public void shape() throws ArithmeticException {
try{
int i=2/0; //here exception will be thrown
throw new ArithmeticException(); //this line will never be executed
}catch(ArithmeticException e){
System.out.println("catch "+e);
}
}
将从包含2/0
的行抛出异常,因此它将在throw new ArithmeticException();
之前发生。然后它将由您的catch
块处理。
答案 1 :(得分:0)
它会在ArithmeticException
的行上抛出"/ by zero"
消息int i=2/0
。
在抛出自己的自定义ArithmeticException之前,你的catch块会捕获抛出的异常。