我们目前在ASP.NET中有一个应用程序并使用SQL Server。我们在存储过程中随时随地使用RAISERROR
。
现在客户端希望在我们的try catch中捕获真实的SqlException
,而不是在SQL Server中打印的那个。
有可能吗?如果是,那么任何人都可以告诉我。
谢谢和问候。
答案 0 :(得分:0)
感谢Jimmy回答这个问题,我也想对代码发表评论。 我的SQL存储过程就像
CREATE STORED PROCEDURE ------------
----------
------
BEGIN TRY
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=@some_value
END TRY
BEGIN CATCH
RAISEERROR(500001,1,16)
END CATCH
因此,无论是未更新的行,还是存在一些转换错误,但无论如何,用户将仅显示RAISEERROR中描述的内容。 我刚刚在RAISEERROR之后给了一个选择@@ ERRORMESSAGE,这让我可以捕获细节。 因此,当我将结果返回到.NET中的应用程序以及RAISEERROR时,它还向我提供了@@ ERRORMESSAGE的详细信息,这帮助了我。 再次感谢所有人。