try...catch是C++的。try-finally是Microsoft的扩展方法,与语言无关,在VC里它是使用__try....__finally....leave等方法。
如果你想深入的话,到www.smiling.com.cn的STL小组的文件共享中的Handle Exception in c/c++,共17篇,不过是会E文。

解决方案 »

  1.   

    谢谢VCMFC
    我说错了,其实就是问标准C++里怎么干,不是说VC怎么干!
      

  2.   

    我是问标准C++里怎么来做这件事,我的写法对不对!CComAdoObj *cgCallDB = new CComAdoObj(CComAdoObj::cmAdoCommand);
    try
    {
    cgCallDB->OpenSql(strSql);while(!cgCallDB->IsEof()) 

    long lID;
    cgCallDB->GetFieldValue("DDD_ID", lID);
    CString strID;
    strID.Format("%ld", lID);      
    wndComboBox.AddString(_T(strID));
    cgCallDB->MoveNext();
    }
    delete cgCallDB; //若果真要写成这样, delete本身出问题了,不歇菜了吗(因为又被catch了)?
    }
    catch(...)
    {
    delete cgCallDB; 
    }