c – 析构函数中的异常

前端之家收集整理的这篇文章主要介绍了c – 析构函数中的异常前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的析构函数中,我必须清理一些资源.假设我有三次调用以清除可能抛出的资源.因为让异常离开析构函数不好,我的设计模式应该是什么?显然,下面的方式是不可扩展的.

谢谢.

class B::~B(){

try{
   clearResourceA()
 }
 catch{
     try{
         clearResourceB();
        } 
     catch{
         clearResourceC();
     }
     clearResourceC();
 }
clearResourceB();
    .
    .
}

解决方法

为什么不:
try{clearResourceA();} catch(...){}
try{clearResourceB();} catch(...){}
try{clearResourceC();} catch(...){}

猜你在找的C&C++相关文章