在C#中存储SqlServer的raiserror消息

如何在C#中存储SQLSERVER的raiserror消息?

这取决于您的RAISERROR的严重程度 。 严重性1-10被视为信息消息,不会破坏C#客户端的流量,即。 他们不会抛出exception。 这些信息消息将触发连接上的InfoMessage事件。

如果RAISERROR的严重性在10到16之间被认为是错误,并且您的SqlCommand.Execute将抛出exception,您可以捕获。

高于17的严重性不适合您使用,它们仅由引擎用于指示可能使数据库脱机或关闭实例的严重问题。 在技​​术上不可能将严重性超过25的错误引发,您的严重性为100的示例就是愚蠢。

看一下:

http://www.sommarskog.se/error-handling-I.html#ADO.Net

特别是:SqlClient部分。 SqlError类为您提供所需的所有信息。