请问:用ADO访问Access数据库时,如果出现异常,该如何判断异常类型?

try{
m_pConnection->Execute(pszModify, &RecordsAffected, adCmdText);
}catch(???)
{
}
如果这时往数据库里添加一条已经存在的记录,这时会有异常抛出,在catch中的错误类型该怎么写,如何判断该错误就是纪录已经存在引起的?

解决方案 »

  1.   

    可以使用通用类型CException就行啊。
      

  2.   

    catch(_com_error e)
    {
    CString errormessage;
    errormessage.Format("\r\n错误信息:%s",e.ErrorMessage());
    AfxMessageBox(errormessage);

      

  3.   

    你用的是MFC吗?那你可以查msdn
    catch(CException e)
    {
      ...
    }如果你用com的话,如下:
    catch( _com_error e )
    {
      MessageBox( e.Description(), ... );
      MessageBox( e.ErrorMessage(), ... );
    }