正在处理Sql自定义异常

本文关键字:自定义异常 Sql 处理 | 更新日期: 2023-09-27 18:23:48

如何识别从带有c#代码的sql存储过程中引发的自定义错误消息?

存储过程错误将像一样出现

RAISERROR (N'This is message %s %d.', -- Message text.
       10, -- Severity,
       1, -- State,
       N'number', -- First argument.
       5); -- Second argument.

从上面,如何识别错误是自定义错误消息。像这个

try{
   --actual code here
}
catch(SqlException ex)
{
    --how to check here that the exception is custom one
} 

正在处理Sql自定义异常

当您提出错误时,您可以提供MessageId而不是Message文本。此编号将在异常:的Number属性中找到

SQL:

    RAISERROR(50001, 12, 1) 

C#:

    if (sqlException.Number == 50001)
    {
        throw new CustomSQLException(//whatever);
    }