我正在尝试捕获重复的密钥违规。我可以看到Intellisense中的System.OleDB.OleDBException弹出,但内部异常为null。如何访问System.OleDB.OleDBException中的错误代码?
格雷格
try
{
MyData.ConExec(sSQL);
}
catch (Exception ex)
{
OleDbException innerException = ex.InnerException as OleDbException;
if (innerException.ErrorCode == -2147217873)
{
// handle exception here..
}
else
{
throw;
}
}
答案 0 :(得分:2)
不要声明异常的实例。如果你这样做,肯定会空着。
try
{
MyData.ConExec(sSQL);
}
catch (OleDbException ex)
{
// handle excpetion here...
if (ex.ErrorCode == -2147217873)
{
}
}
catch (Exception e)
{
// if other exception will occur
}