10
我有以下程序所使用的一些應用程序:如何在異常處理塊中重新引發pl/sql異常?
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:作爲臨時的解決方案,我用執行即時
@AlexPoole鏈接已死。 – ceving 2014-10-16 14:52:28
@ceving - 謝謝,我將當前的實時鏈接放入了答案中,而不是將來更容易更新。 – 2014-10-16 15:08:27
當前[link](http://docs.oracle.com/cd/B10501_01/appdev.920/a96624/07_errs.htm#1049) – 2015-03-13 21:41:30