簡體   English   中英

Oracle pl sql異常塊將在何時執行

[英]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;

在此處閱讀有關異常的更多信息,並在此處閱讀有關OTHERS 信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM