SQL Server Raiserror не вызывает исключение в клиенте .NET
У меня есть хранимая процедура в базе данных SQL Server 2005, которая имеет такой оператор:
IF @Condition = 0
BEGIN
RAISERROR('some error message',16,1)
RETURN
END
и он вызывается из клиента C # примерно так:
try
{
SomeVariable = SqlHelper.ExecuteScalar(GetConnectionString(), "MySP", new object[] { param1, param2});
}
catch (SqlException e)
{
Console.WriteLine(e.Message);
}
Однако не возникает никаких исключений. Условие в SP всегда верно для тестирования. Чтобы убедиться в этом, я скопировал вызов из SQL Server Profiler и выполнил его в окне запроса, и было напечатано сообщение ErrorMessage, что означает возникновение ошибки.
Не уверен, что происходит.