当前位置:Gxlcms > 数据库问题 > T-SQL编程中的异常处理-异常捕获(try catch)与抛出异常(throw)

T-SQL编程中的异常处理-异常捕获(try catch)与抛出异常(throw)

时间:2021-07-01 10:21:17 帮助过:36人阅读


       throw 50000,‘Price can not be less than 0‘,2
       因为Error State不同,就可以根据具体的Error State更加方便地知道是哪个地方发生了异常,参考

  

throw语句存储自定义异常到messages系统表
可以将自定义的异常信息加入到sys.messages 系统表中,先加英文的,再加中文的。
然后使用的时候可以使用这个预定义的message,而不是每次写一个字符串

EXEC sp_addmessage   
    @msgnum = 50001,   
    @severity = 16,   
    @msgtext = N%s can not be less than 0,   
    @lang = us_english;  
  
EXEC sp_addmessage   
    @msgnum = 50001,   
    @severity = 16,   
    @msgtext = N%s 不能小于0,   
    @lang = 简体中文;  

如下,存储过程中先通过FORMATMESSAGE来格式化异常信息,然后使用throw 50001, @msg, 1;的方式抛出异常

技术分享

  然后在调用存储过程是的时候,如下是异常被触发时候的抛出自定义异常的场景。

  技术分享

  

总结:本文简单介绍了T-SQL编程中的异常处理方式,异常处理的时候可以通过捕获异常信息并记录下来,确保代码的维护性,也为问题排查提供参考依据。
     也可以在确保满足业务逻辑的条件下,主动抛出自定义异常的方式终止代码的执行,来确保业务逻辑的正确性。

    

 

T-SQL编程中的异常处理-异常捕获(try catch)与抛出异常(throw)

标签:targe   ever   link   介绍   示例   推荐   存储   weight   nlog   

人气教程排行