当你有多个块时,你能解释一下异常处理的顺序吗? 例如,我有一个匿名块,它有两个过程,Proc_A和Proc_B。调用Proc_A,并在Proc_A中处理异常。接下来会发生什么?它会回到外部块异常还是会从那里退出?
由于
答案 0 :(得分:0)
问题尚不清楚,但我的目标是:
假设您有以下代码:
public void procA() throws Exception {
procB();
}
public void procB() throws Exception {
try {
// code that throws an exception
} catch (Exception exc) {
// code to handle the exception
}
}
现在,如果catch块处理异常,它可能有两种方式。 1.您只需处理异常,异常的传播就会停止。正常程序回到procA。 2.您决定进一步抛出异常或抛出这样的新异常:
throw exc
throw new Exception();
在这种情况下,异常将传播到procA。所以一切都取决于你想要的东西。