假设我有如下程序:
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_error
和another_error
,因为它们的处理方式相同。
这可能在Oracle中实现吗?如果没有,还有什么其他可能来避免代码重复?
答案 0 :(得分:5)
是的,你可以。
您可以在异常之间使用OR条件
EXCEPTION
WHEN an_exception
OR another_exception
THEN
handle it here;
END;
有关异常处理的详细信息,请参阅The Docs。