gpt4 book ai didi

c++ - 从 catch (...) C++ 获取异常对象地址

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:40:04 25 4
gpt4 key购买 nike

我有一个示例 try/catch block 。

try
{
...
}
catch (...)
{
...
}

有没有办法从 catch(...) block 内部获取异常对象地址或其他内容?

最佳答案

您可以有点在 C++11 中使用 std::current_exception() 执行此操作它返回“一个指向当前处理的异常或其拷贝的 exception_ptr 对象。”但是,正如其他答案所涵盖的那样,由于您不知道实际类型是什么,因此这几乎没有用。请注意,为 std::exception_ptr 定义的操作很少,事实上取消引用它“导致未定义的行为。”

关于您可以用它做的唯一有趣的事情是保存指针,以便您稍后可以使用 std::rethrow_exception 在另一个上下文中重新抛出它。 .这在 MSDN article "Transporting Exceptions Between Threads." 中有一些详细介绍。

关于c++ - 从 catch (...) C++ 获取异常对象地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5157169/

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