這是一個關於最佳實踐的問題。我有類似這樣程序中的PL/SQL異常處理
DECLARE
--work variables
PROCEDURE p1(in_parameter1, out_parameter1, out_parameter2...) IS
BEGIN
--do stuff
--select (...) into (...) from t1 where (...)
END;
PROCEDURE p2(in_parameter1, out_parameter1, out_parameter2...) IS
BEGIN
--do stuff
--insert/update tables
--do more stuff
END;
BEGIN -- MAIN PROCESS STARTS HERE
open c1;
fetch c1 into c1RowData;
EXIT WHEN c1%NOTFOUND
--call procedure1
--do stuff
--call procedure2
--do stuff
--do stuff
--call procedure1
--call procedure2
END;
/
EXIT;
手續P1和P2語句的PL/SQL塊也可能引發異常(NO_DATA_FOUND,DUP_VAL_ON_INDEX,...)。
您認爲處理這些異常的最佳方法是什麼?是否應該在程序中處理它們,或者您是否認爲我應該將TRY-CATCH塊的主體程序包含在每個調用中?
謝謝!你說這取決於「實際的功能實施(..)在程序中「,請您詳細說明一下,在哪種情況下最好處理程序之外的異常情況? – bruno