这是我的程序。
try {
int a = 1/0;
}
catch(Exception e) {
system.out.println("Exception block"+e);
}
catch(ArithmeticException e) {
system.out.println("Inside ArithmeticException block");
}
finally {
system.out.println("Inside Finally block");
}
在上面的程序中,我有两个 catch block 和一个 finally block 。
哪个 catch block 将执行?因为我首先定义了父 catch block 。那么它会导致错误吗?谁能帮帮我吗?
我假设“ArithmeticException和Finally block 将被执行”
最佳答案
捕获Exception
类不会给出任何错误。但不建议这样做。
在这种情况下,Exception
catch
block 将首先执行,然后 finally
block 将执行。
如果您希望执行 ArithmeticException
block ,请将此 block 放在 Exception
catch
block 之前。
更新代码 -
try{
int a = 1/0;
}
catch(ArithmeticException e){
System.out.println("Inside ArithmeticException block");
}
catch(Exception e) {
System.out.println("Exception block"+e);
}
finally{
System.out.println("Inside Finally block");
}
关于java - 使用多个 catch block 进行异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40694357/