关闭

SQL Server 2012可编程性新特性_3_THROW

998人阅读 评论(0) 收藏 举报

T-SQL从2005年就开始支持TRY-CATCH ,但直到2012才有THROW。THROW不带参数,其用法与C#和VB中catch块中的throw类似。也就是说,它会重新抛出异常,而不会丢失当时捕捉到的任何信息。它对于向重试队列记录或添加条目很有帮助,同时也可以通知应用程序出错。当THROW带参使用时,它类似于RAISERROR,不同之处在于它支持sys.messages之外的错误信息号(error number),并且它的严重级别(severity)总是16。还有一点与RAISEERROR不同的是,所有未被捕获的THROW错误总是批量终止。

THROW大大改进了错误处理,如更加易于使用、代码也更简洁,下面看看具体的实例:

通过RAISERROR抛出异常


通过THROW抛出异常:

带参数情况下,RAISERROR与THROW的对比:

更多信息可参考官网:http://msdn.microsoft.com/en-us/library/ee677615%28v=SQL.110%29.aspx

 

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:634758次
    • 积分:8346
    • 等级:
    • 排名:第2348名
    • 原创:177篇
    • 转载:23篇
    • 译文:49篇
    • 评论:77条
    最新评论