我正在尝试捕获重复的密钥冲突。我可以在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;
}
}
最佳答案
不要声明异常的实例。如果这样做,它肯定会返回空。
try
{
MyData.ConExec(sSQL);
}
catch (OleDbException ex)
{
// handle excpetion here...
if (ex.ErrorCode == -2147217873)
{
}
}
catch (Exception e)
{
// if other exception will occur
}