【发布时间】:2012-02-27 02:34:40
【问题描述】:
可能重复:
How can I catch all types of exceptions in one catch block?
在 C++ 中有没有办法捕获所有异常?如果是这样,它的语法是什么?
谢谢
【问题讨论】:
-
你需要澄清一下;您是指所有异常还是所有未处理异常?毕竟,你可以像 Seth 提到的那样将入口点包装在 try-catch 块中,但如果有内部代码显式处理异常并让程序继续运行,它就不会到达入口点 catch 块。
-
如果您这样做是为了调试异常,那么在 Visual Studio 中有一种更简单的方法;在调试菜单上转到 Exceptions 选项,您可以选择 VS 在发生异常时停止的选项,即使它已被处理,以及其他一些事情。
-
顺便说一句,这通常是“糟糕的形式”。特别是如果您执行
try { ... } catch (...) { ; }之类的操作(即默默地吃掉任何/所有可能的例外情况)。
标签: c++