SQL Server2012 新特性: THROW

--1. 使用 RAISERROR, 错误行不够准确,不简洁
BEGIN TRY
	SELECT 1/0
END TRY
BEGIN CATCH
	RAISERROR ('自定义错误',12,1)
	/* 
		SELECT
			ERROR_NUMBER() AS ErrorNumber,
			ERROR_SEVERITY() AS ErrorSeverity,
			ERROR_STATE() AS ErrorState,
			ERROR_PROCEDURE() AS ErrorProcedure,
			ERROR_LINE() AS ErrorLine,
			ERROR_MESSAGE() AS ErrorMessage
	*/
END CATCH
/*
(0 行受影响)
消息 50000,级别 12,状态 1,第 6 行
自定义错误
*/

--2. 使用 THROW,  错误行位置准确,简洁
BEGIN TRY
	SELECT 1/0
END TRY
BEGIN CATCH
	THROW 
END CATCH
/*
(0 行受影响)
消息 8134,级别 16,状态 1,第 25 行
遇到以零作除数错误。

--也可以改成 THROW 50001,'自定义消息',1
--但就提示错误行就不准确了了
*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值