【问题标题】:Getting NativeErrorCode from an System.Exception?从 System.Exception 获取 NativeErrorCode?
【发布时间】:2010-12-09 08:34:19
【问题描述】:
如何从 System.Exception 中获取本机错误代码?
更具体地说,我正在捕获一个 EntityException 并且我需要检查它是否是
"25028 SSCE_M_INVALIDPASSWORD 指定的密码与数据库密码不匹配。"
我的 EntityException 的内部异常是一个 SqlCeException,它显示“指定的密码与数据库密码不匹配”。我必须明确地抓住那个。
【问题讨论】:
标签:
.net
sql
entity-framework
sql-server-ce
entity
【解决方案1】:
SqlCeException 有一个 NativeError 属性,所以一旦你发现这个异常,看看这个属性的值:
catch (EntityException ex)
{
var sqlCeEx = ex.InnerException as SqlCeException;
if (sqlCeEx != null)
{
var nativeError = sqlCeEx.NativeError;
// Do something with the native error
}
}