gpt4 book ai didi

c++ - 析构函数中的异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:04:36 24 4
gpt4 key购买 nike

在我的析构函数中,我必须清理一些资源。假设我有三个调用来清除可能抛出的资源。既然让异常离开析构函数是不好的,那么我的设计模式应该是什么?显然下面的方法不可扩展。

谢谢。

class B::~B(){

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

最佳答案

为什么不:

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

关于c++ - 析构函数中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com