【发布时间】:2011-10-29 17:10:17
【问题描述】:
在我的析构函数中,我必须清理一些资源。假设我有三个电话来清除可能抛出的资源。既然让异常离开析构函数是不好的,那么我的设计模式应该是什么?显然下面的方式是不可扩展的。
谢谢。
class B::~B(){
try{
clearResourceA()
}
catch{
try{
clearResourceB();
}
catch{
clearResourceC();
}
clearResourceC();
}
clearResourceB();
.
.
}
【问题讨论】:
-
它绝对不可扩展。试图只管理三个资源,你已经有逻辑错误。
标签: c++