是否有exception错误类值列表及其含义? 特别是sqlexception
我正在使用数据库并捕获exception以检查各种条件。 我不能简单地捕获sqlException,因为它可能意味着很多东西,并且通常使用
catch (SqlException e) { if (e.Errors[0].Class == 14) { return 0; } else ........
检查具体案例。 在这个例子中,第14类(至少据我所知)表示重复的条目。 另一个类意味着无法找到服务器,或拒绝连接或登录错误等。有谁知道可以找到这些错误类的列表? 谷歌搜索这是很困难的,因为任何带有“类”的东西都显而易见。
SqlError
类的Class
属性实际指示错误的严重性。 对于错误类型,请查看Number
属性。 您还可以使用Message
属性来获取描述错误的字符串。 您可以在此处找到服务器错误消息列表。
严重性为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列比对严重性列更感兴趣,因为它更具体一些。