我从SQL Server 2012中的存储过程返回异常,如下所示:
DECLARE @errnum nchar(5), @errmsg nvarchar(2048);
SELECT
@errnum = 51000,--RIGHT('00000' + ERROR_NUMBER(), 5),
@errmsg = @errnum + ' ' + ERROR_MESSAGE();
RAISERROR (@errmsg, 16, 1);
在C#代码中返回SqlException,编号为50000,其中进一步操作。 出于某些业务逻辑原因,我需要返回的数字超过50000。 例如,我们使用THROW关键字。
THROW 51000,'error',1
我怎样才能做到这一点?
答案 0 :(得分:1)
您应该使用sp_addmessage为此错误号创建用户定义的错误消息,然后使用消息ID调用RAISERROR:
RAISERROR (51000, 16, 1)