异常处理流程

时间:2014-10-01 19:29:22

标签: oracle plsql exception-handling

当你有多个块时,你能解释一下异常处理的顺序吗? 例如,我有一个匿名块,它有两个过程,Proc_A和Proc_B。调用Proc_A,并在Proc_A中处理异常。接下来会发生什么?它会回到外部块异常还是会从那里退出?

由于

1 个答案:

答案 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。所以一切都取决于你想要的东西。