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;

  • 相关阅读:
    Linux--shell的awk--10
    Spring Boot 整合 tk.mybatis
    pring Boot 整合 Druid
    Thymeleaf 模板布局
    Thymeleaf 内置对象
    Thymeleaf 表达式语法
    Thymeleaf 参考手册
    Thymeleaf常用语法
    Thymeleaf简介及第一个thymeleaf模板
    Docker 安装nginx
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912096.html
Copyright © 2011-2022 走看看