可以单个'何时'子句在oracle中处理多个异常类型?

时间:2017-11-07 19:56:49

标签: oracle exception exception-handling

假设我有如下程序:

PROCEDURE proc_name (args)
IS

  --  declarations
    ...
BEGIN

    -- code
    ...
EXCEPTION

    WHEN an_error THEN

        --error handling code
         ....
        WHEN another_error THEN

        -- error handling code, identical to the one for an_error
         ...
     WHEN others THEN
       ---generic error handling code`
       ....
END;

理想情况下,我希望能够在同一个WHEN子句中捕获an_erroranother_error,因为它们的处理方式相同。

这可能在Oracle中实现吗?如果没有,还有什么其他可能来避免代码重复?

1 个答案:

答案 0 :(得分:5)

是的,你可以。

您可以在异常之间使用OR条件

EXCEPTION
  WHEN an_exception 
    OR another_exception
  THEN
    handle it here;
END;

有关异常处理的详细信息,请参阅The Docs