如何为 raise_application_error 调用编写异常处理程序?我完全坚持下去。我知道如何引发和捕获自定义异常,但我不知道如何使用 raise_application_error 和其他 catch block 捕获错误,然后“当其他人”时。谢谢指点
最佳答案
类似这样的吗?
declare
no_bananas_on_tuesday exception;
pragma exception_init(no_bananas_on_tuesday, -20123);
begin
raise_application_error(-20123, 'Bananas are not available on a Tuesday');
exception
when no_bananas_on_tuesday then
dbms_output.put_line('It''s Tuesday but user requested a banana.');
end;
- 上面的调用会生成 ORA-20123 错误。
- 我们定义了与代码 -20123 关联的自定义异常
no_bananas_on_tuesday
。 - 当发生 ORA-20123 异常时,我们可以使用
no_bananas_on_tuesday
异常处理程序捕获它。
关于oracle如何捕获引发应用程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66070836/