zoukankan      html  css  js  c++  java
  • SQL Server Try Catch错误处理

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
    一。语法要点:
    BEGIN TRY
    { sql_statement ¦ statement_block }
    END TRY
    BEGIN CATCH
    [ { sql_statement ¦ statement_block } ]
    END CATCH
    [ ; ]

    异常部分:
    在 CATCH 块的作用域内,可以使用以下系统函数来获取导致 CATCH 块执行的错误消息:
    ERROR_NUMBER() 返回错误号。
    ERROR_SEVERITY() 返回严重性。
    ERROR_STATE() 返回错误状态号。
    ERROR_PROCEDURE() 返回出现错误的存储过程或触发器的名称。
    ERROR_LINE() 返回导致错误的例程中的行号。
    ERROR_MESSAGE() 返回错误消息的完整文本。 该文本可包括任何可替换参数所提供的值,如长度、对象名或时间。

    二。实例:
    Step 1:
    Create PROCEDURE SysLogError
    AS
    BEGIN
    Insert into SystemErrorLog
    (SPName,Description,LogTime)
    Values
    (ERROR_PROCEDURE(),Convert(nvarchar(MAX),ERROR_LINE()) + ':' + ERROR_MESSAGE(),GetDate())
    END

    Step 2:

    BEGIN TRY
        BEGIN TRANSACTION;

    。。。。

        COMMIT TRANSACTION;
    END TRY
    BEGIN CATCH
        IF @@TRANCOUNT > 0
        BEGIN
            ROLLBACK TRANSACTION;
        END

        EXECUTE [dbo].[SysLogError];
    END CATCH;

  • 相关阅读:
    18.11.5 考试总结
    18.11.2 考试总结
    18.11.1 考试总结
    洛谷 P1084 疫情控制 noip2013D2T3
    18.10.31 考试总结
    洛谷P1312 Mayan游戏 noip2011D1T3
    18.10.30 考试总结
    【考前复习_各类模板之补充】
    NOIP2016之反面教材提供
    【最后的抒情】【离NOIP还有9个小时】
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912096.html
Copyright © 2011-2022 走看看