CString sql;
sql.Format("insert into sms values ('%s','%s')",strName,strMessage);
try
{
((CPowerViewApp*)AfxGetApp())->g_pDataBase->ExecuteSQL(sql);
}
catch(CDBException* e)
{
AfxMessageBox(e->m_strError);
}
我的sms表不存在,为什么不执行catch中的语句报错呢!
请各位大仙帮忙

解决方案 »

  1.   

    CString sql;
    sql.Format("insert into sms values ('%s','%s')",strName,strMessage);try
    {
      ((CPowerViewApp*)AfxGetApp())->g_pDataBase->ExecuteSQL(sql);
    }
    catch(_com_error e)
    {
      CString errormessage;
      errormessage.Format("錯誤信息:%s",e.ErrorMessage());
      AfxMessageBox(errormessage);
    }//应该是这样写的.
      

  2.   

    mynamelj(风之羽翼) 所说得是一种可能。原因是异常类型不对。
    在不确定会抛出何种异常时,可以简单地以catch(...) 来处理,表示捕捉所有异常。
      

  3.   

    换成catch(...)结果是一样的,不饱异常,
    我换了一种方法,
    用open ,这样就报异常。
      

  4.   

    表不存在,不一定就会异常,可以查看ExecuteSQL的返回结果