首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

标准C++中的错误处理怎么实现SEH里_finally这样的功能

2012-03-13 
标准C++中的异常处理如何实现SEH里__finally这样的功能主要考虑一些平台移值性问题[解决办法]C++中所在需

标准C++中的异常处理如何实现SEH里__finally这样的功能
主要考虑一些平台移值性问题

[解决办法]
C++中所在需要动态审请资源的类,最好都封装成RAII的形式,构造函数申请,析构函数释放。
只要保证类本身是异常安全的,发生异常时一切就可以自动搞定,不需要借助于finally那种机制。
[解决办法]
自己建立一个类将fopen,fclose封装起来
class FileWrapper
{
public:
FileWrapper(const char * FileName)
{
pFile=fopen(FileName);
}
~FileWrapper()
{
fclose(pFile);
}
private:
FILE*pFile;
};

在使用fopen的时候:
try
{
auto_ptr <FileWrapper*> file(new FileWrapper( "filename "));
...
}
catch(...)
{
}
OK
其它功能在封装类当中去包装一下.在try类用file去使用.

热点排行