我有一个存储过程给出了一个足够友好的错误,我想向用户显示,但是当我从.net调用它时,它会出现两次。当我从sql server management studio调用proc时,它只会出现一次。SqlException.Message在调用sqlserver存储过程时重复
这里是存储过程的缩减版本,:
ALTER PROC [Production].[spDoSomething] (
@PassedID int)
AS
BEGIN
DECLARE @ErrorString nvarchar(500);
BEGIN TRY
...
RAISERROR('Bad things are happening.', 11 /*severity*/, 1 /*state*/);
...
END TRY
BEGIN CATCH
SET @ErrorString = 'Error found:' + ERROR_MESSAGE();
PRINT @ErrorString;
RAISERROR(@ErrorString, 11 /*severity*/, 1 /*state*/);
END CATCH
END
我使用ExecuteNonQuery()
一个System.Data.SqlClient.SQLCommand
对象的调用这个在一些C#代码,然后我抓住一个System.Data.SqlClient.SQLException
但该消息中包含
"Error: Found Bad things are happening.\nError Found: Bad things are happening."
有谁知道它出现两次的原因吗?
这是SQL Server 2008中上和.NET发布后3.5