是否有异常错误类值列表及其含义?特别是sqlexception

cos*_*ost 4 .net c# sql-server exception

我正在使用数据库并捕获异常以检查各种条件.我不能简单地捕获sqlException,因为它可能意味着很多东西,并且通常使用

catch (SqlException e)
        {
            if (e.Errors[0].Class == 14)
            {
                return 0;
            }
            else ........
Run Code Online (Sandbox Code Playgroud)

检查具体案例.在这个例子中,第14类(至少据我所知)表示重复的条目.另一个类意味着无法找到服务器,或拒绝连接或登录错误等.有谁知道可以找到这些错误类的列表?谷歌搜索这是很困难的,因为任何带有"类"的东西都显而易见.

Aar*_*and 6

严重程度为14可能意味着很多事情:

SELECT message_id, [text]
FROM sys.messages
WHERE language_id = 1033
AND severity = 14;
Run Code Online (Sandbox Code Playgroud)

要查看完整列表:

SELECT message_id, severity, [text]
FROM sys.messages
WHERE language_id = 1033
AND severity > 0
ORDER BY severity;
Run Code Online (Sandbox Code Playgroud)

我怀疑你对message_id列比对severity列更感兴趣,因为它更具体一些.


Jor*_*dão 4

Class类的属性实际上SqlError指示了错误的严重性。有关错误类型,请查看属性Number。您还可以使用该Message属性来获取描述错误的字符串。您可以在此处找到服务器错误消息列表。