[英]Oracle pl sql exception block will be executed when
如果我有一個oracle pl / sql過程,我將定義一個異常塊,如下所示:
exception
WHEN OTHERS THEN
errMsg := substr(SQLERRM, 1, 100);
dbms_output.put_line ('--> Error ALIAS1: ' || errMsg);
end;
無論引發何種異常,都將執行此操作嗎?
WHEN OTHERS
是所有未由其自己的WHEN
子句顯式處理的PL / SQL異常的綜合解決方案。
因此,通常不建議使用它。 很容易無意中捕獲並丟失有關發生的重要事件的重要信息。 您應該捕獲並處理您期望遇到的特定異常。 如果確實要記錄或記錄任何其他異常,則應在異常處理程序中包含RAISE
,以便其他所有內容都能正常傳播。
...
exception
when others then
errMsg := substr(SQLERRM, 1, 100);
dbms_output.put_line ('--> Error ALIAS1: ' || errMsg);
raise;
end;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.