sql-server – 如何分配SqlException编号
SqlException具有属性Number. 然后有这个:http://msdn.microsoft.com/en-us/library/cc645603.aspx 这个:http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx 它似乎是一个或另一个 题: 怎么决定哪个? 要求的原因: 我需要捕获某些SqlExceptions并根据Number属性决定如何处理它们但我不知道当系统使用来自两者的消息时我应该看哪个列表,我不知道是什么标准用于选择. 例如: > 53号 – 来自服务器错误消息列表(两者都存在) 解决方法该理论认为是SQL错误号,例如.服务器端ERROR_NUMBER() .换句话说,第一个列表.
但是,SqlClient报告的一些异常发生在客户端,而不是服务器端.一个典型的例子是错误,如连接到服务器失败,因为你没有连接,没有服务器端错误可言.例如,一个错误的服务器名称(在DNS中不解析),在这种情况下,InnerException将指向 在其他情况下,SqlClient报告的错误是套接字错误,如突然断开连接.同样,没有“服务器端”错误可言,并且SqlException将包含类型为 那你该怎么办?确保检查InnerException,如果是Win32Exception,则ErrorNumber来自系统错误代码(操作系统错误).否则它应该是SQL Server错误号. 哦,然后有-1 …我认为这是由SqlClient本身报告的(例如一些内部状态错误),但我不确定. (编辑:上饶站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |