gpt4 book ai didi

c++ - 如何在一个 catch block 中捕获所有类型的异常?

转载 作者:可可西里 更新时间:2023-11-01 15:29:42 29 4
gpt4 key购买 nike

在 C++ 中,我尝试一次捕获所有类型的异常(如 C# 中的 catch(Exception))。它是如何完成的?更重要的是,如何捕捉被零除异常?

最佳答案

catch (...)
{
// Handle exceptions not covered.
}

重要注意事项:

  • 更好的方法是捕获您实际上可以从中恢复的特定类型的异常,而不是捕获所有可能的异常。
  • catch(...) 还将捕获某些严重的系统级异常(因编译器而异),您将无法从中可靠地恢复。以这种方式捕获它们然后吞下它们并继续可能会导致您的程序出现进一步的严重问题。
  • 根据您的上下文,可以接受使用 catch(...),前提是重新抛出异常。在这种情况下,您记录所有有用的本地状态信息,然后重新抛出异常以允许它向上传播。但是,您应该阅读 RAII pattern如果您选择这条路线。

关于c++ - 如何在一个 catch block 中捕获所有类型的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55859/

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