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