我正在使用数据库并捕获异常以检查各种条件。我不能简单地捕获sqlException,因为它可能意味着很多东西,并且通常使用
catch (SqlException e)
{
if (e.Errors[0].Class == 14)
{
return 0;
}
else ........
检查具体案例。在这个例子中,第14类(至少据我所知)表示重复的条目。另一个类意味着无法找到服务器,或拒绝连接或登录错误等。有谁知道可以找到这些错误类的列表?谷歌搜索这是很困难的,因为任何带有“类”的东西都显而易见。
答案 0 :(得分:6)
严重程度为14可能意味着很多事情:
SELECT message_id, [text]
FROM sys.messages
WHERE language_id = 1033
AND severity = 14;
要查看完整列表:
SELECT message_id, severity, [text]
FROM sys.messages
WHERE language_id = 1033
AND severity > 0
ORDER BY severity;
我怀疑你对message_id列比对严重性列更感兴趣,因为它更具体一些。
答案 1 :(得分:4)