sql server try...catch使用
生活随笔
收集整理的這篇文章主要介紹了
sql server try...catch使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Transact-SQL 代碼中的錯誤可使用 TRY…CATCH 構造處理,此功能類似于C#語言的異常處理功能。TRY…CATCH 構造包括兩部分:一個 TRY 塊和一個 CATCH 塊
1.TRY...CATCH 塊不處理導致數據庫引擎關閉連接的嚴重性為 20 或更高的錯誤。但是,只要連接不關閉,TRY...CATCH 就會處理嚴重性為 20 或更高的錯誤。
2.嚴重性為 10 或更低的錯誤被視為警告或信息性消息,TRY...CATCH 塊不處理此類錯誤。
TRY...CATCH 使用下列錯誤函數來捕獲錯誤信息:
ERROR_NUMBER() 返回錯誤號。
ERROR_MESSAGE() 返回錯誤消息的完整文本。此文本包括為任何可替換參數(如長度、對象名或時間)提供的值。
ERROR_SEVERITY() 返回錯誤嚴重性。
ERROR_STATE() 返回錯誤狀態號。
ERROR_LINE() 返回導致錯誤的例程中的行號。
ERROR_PROCEDURE() 返回出現錯誤的存儲過程或觸發器的名稱。
對于與TRY...CATCH 構造在同一執行級別發生的錯誤,TRY...CATCH 將不處理以下兩類錯誤:
1.編譯錯誤,例如阻止批處理執行的語法錯誤。
2.語句級重新編譯過程中出現的錯誤,例如由于名稱解析延遲而造成在編譯后出現對象名解析錯誤。
如果某個錯誤在 TRY 塊內的編寫或語句級別重新編寫過程中并在較低的執行級別(例如,執行 sp_executesql 或用戶定義存儲過程時)發生,則該錯誤會在低于 TRY…CATCH 構造的級別上發生,并由相關聯的 CATCH 塊處理。
總結
以上是生活随笔為你收集整理的sql server try...catch使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 福特翼搏2015款自动挡多少钱?
- 下一篇: 沪C车牌是哪个区的牌照?