存儲過程如何處理異常


一、存儲過程使用 try......catch異常處理
 

TRY 塊以 BEGIN TRY 語句開頭,以 END TRY 語句結尾。在 BEGIN TRY 和 END TRY 語句之間可以指定一個或多個 Transact-SQL 語句。

CATCH 塊必須緊跟 TRY 塊。

CATCH 塊以 BEGIN CATCH 語句開頭,以 END CATCH 語句結尾。

在 Transact-SQL 中,每個 TRY 塊僅與一個 CATCH 塊相關聯。
 

二、TRY……CATCH基本語法如下


   BEGIN TRY
   RAISERROR ('Houston, we have a problem', 16,1)
  END TRY
  BEGIN CATCH
  SELECT ERROR_NUMBER() as ERROR_NUMBER, //返回錯誤號。
   ERROR_SEVERITY() as ERROR_SEVERITY, //返回錯誤嚴重性。
   ERROR_STATE() as ERROR_STATE, //返回錯誤狀態號。

 

 


   ERROR_MESSAGE() as ERROR_MESSAGE //返回錯誤消息的完整文本。此文本包括為任何可替換參數(如長度、對象名稱或時間)提供的值。
      ERROR_LINE() as ERROR_LINE, //返回導致錯誤的例程中的行號。
      ERROR_PROCEDURE() as ERROR_PROCEDURE, //返回出現錯誤的存儲過程或觸發器的名稱。
  END CATCH


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM