在src中有如下捕获
try
{
...file open->file write->file close...
}
catch( CException& ex )
{
....
}
想搞个异常,让catch捕获,于是在try里面使用了
throw CException(FALSE);
编译失败。
throw new CException(FALSE);
编译成功,但没有捕获成功。搞个U盘,把U盘塞满,想让file写的时候异常,抛出一个磁盘已满的异常,catch( CException& ex )依然没有成功捕到,改成catch( CException* ex ),就成功了。并在catch块中加上ex->Delete(); ,MSDN里有例子。
在ADO数据库操作的时候,
这里的catch却使用的是引用, 写成catch(_com_error* e),死活捕捉不到,原因不明,可能 CException是MFC的类,而_com_error却不是吧。