日期:2014-05-16  浏览次数:21148 次

try .... catch时,为什么catch不起作用
我在用ado打开数据库时,比如用
try  
{
//   打开本地Excel
        CString   strSql;
        strSql= "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source   demo.xls;Extended   Properties=Excel   8.0 ";
        m_pConnection-> Open(strSql.AllocSysString(), " ", " ",adModeUnknown);}
catch(_com_error   e)
{
        AfxMessageBox( "Excel连接失败,确认Excel表是否在当前路径下! ");
        return   FALSE;
}    
如果demo.xls不在当目录下,也不执行catch,而是直接崩溃,这是什么原因?

------解决方案--------------------
Data Source demo.xls

-->

Data Source=D:\demo.xls
------解决方案--------------------
你捕获异常的时候使用catch(...)来捕获所有异常试一试
可能抛出的异常不是以现在捕获的这种