【发布时间】:2013-02-05 08:53:26
【问题描述】:
我有一些应用程序使用的以下过程:
procedure p1
is
begin
bla bla bla;
end;
但是没有异常处理块。所以应用程序是根据这个特性编写的。
现在我需要在 p1 中记录错误。但它不应该影响使用此过程的应用程序。
类似这样的:
procedure p1
is
begin
bla bla bla;
exception when others then
log_error(sqlcode, sqlerrm);
raise_new_exception (sqlcode, sqlerrm);
end;
如果出现 raise_application_error,第一个参数应在 [-20000, -20999] 范围内。所以如果出现no_data_found异常,就不会引发这个错误。
如果是exception_init,第二个参数不应该是可变的。它必须是数字文字。
PS:作为临时解决方案,我使用的是立即执行
【问题讨论】:
标签: oracle exception-handling plsql