std::experimental::scope_success<EF>::~scope_success
来自 cppreference.cn
< cpp | experimental | scope success
~scope_success() noexcept(noexcept(std::declval<EF&>()())); |
(library fundamentals TS v3) | |
如果 std::uncaught_exceptions() 的结果小于或等于未捕获异常的计数器(通常在正常退出时)并且 scope_success
处于活动状态,则调用退出函数,然后销毁存储的 EF
(如果它是一个函数对象)和任何其他非静态数据成员。
异常
抛出调用退出函数抛出的任何异常。
注释
是否在栈展开时调用析构函数可以通过比较 std::uncaught_exceptions() 的结果和 scope_success
中未捕获异常的计数器来检测。
与 C++ 标准库和其他 C++ TR/TS 中的其他类或类模板特化不同,scope_success
的析构函数被允许抛出异常。
[编辑] 参见
使 scope_success 失效(public member function) |