zoukankan      html  css  js  c++  java
  • MSSQL 2005/2008 中的错误处理机制

    begin try
      --SQL
    end try

     begin catch

      --sql (处理出错动作)
    end catch

    我们将可能会出错的sql 写在begin try...end try 之间,若出错,刚程序就跳到紧接着的begin try...end try 的beign catch...end catch

    中,执行beign catch...end catch错误处理SQL。try..catch 是可以嵌套的。

    在begin catch ...end catch中我们可以利用系统提供的下面四个函数得到出错信息:

    error_number 返回错误代码

    error_serverity 返回错误的严重级别

    error_state 返回错误状态代码

    error_message 返回完整的错误信息

    ERROR_PROCEDURE() AS ErrorProcedure, 返回存储过程名称
    ERROR_LINE() AS ErrorLine, 返回出错的行

     

    上面的四个函数在同一个begin catch ...end catch可以在多次使用,值是不变的。

    下面是一个简单的小例子。

    begin try
       select 2/0
    end try
    
    begin catch
       select error_number() as error_number ,
       error_message() as error_message,
       error_state() as error_state,
       error_severity() as error_severity
    end catch
    
    


    结果:

    -----
    error_number error_message error_state error_severity

    8134 遇到以零作除数错误。 1 16

     

  • 相关阅读:
    HDU 6034
    HDU 6047
    CodeForces 830B
    HDU 4972
    HDU 4408
    CodeForces 788B
    CodeForces 788A
    CodeForces 792C
    uva 1658 Admiral 最小费最大流
    hdu 5391 Zball in Tina Town 威尔逊定理
  • 原文地址:https://www.cnblogs.com/rainnight/p/1804715.html
Copyright © 2011-2022 走看看