繁体   English   中英

我可以抑制在C#中使用RAISERROR发送的消息

[英]Can I suppress messages that are sent using RAISERROR in C#

我们目前在ASP.NET中有一个应用程序并使用SQL Server。 我们在存储过程中随时随地使用了RAISERROR

现在,客户端希望在我们的try catch中捕获真正的SqlException ,而不是在SQL Server中打印的那个。

可能吗? 如果是,那么任何人都可以告诉我。

谢谢并恭祝安康。

感谢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的详细信息,这帮助了我。 再次感谢所有人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM