前端之家收集整理的这篇文章主要介绍了
c – 检测由于异常抛出的析构函数运行?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在析构
函数中检测到它是一个很好的
方法,它是在抛出堆栈时运行的,因为异常被抛出,而不是触发析构
函数的范围的正常
退出.我想知道,所以我可以创建一个有一些清理
代码的类,它始终在正常
退出时运行,但是在发生异常时跳过.
std :: uncaught_exception()(在< exception>中定义)会在你的析构
函数中告诉你,如果它被
调用是因为一个异常:
class A
{
public:
~A()
{
if (std::uncaught_exception()) {
// Called because of an exception
} else {
// No exception
}
}
};
原文链接:https://www.f2er.com/c/114224.html