我有一些应用程序使用的以下过程:
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:作为临时解决方案,我使用的是立即执行