c++ 捕获所有异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ 捕获所有异常相关的知识,希望对你有一定的参考价值。

捕获所有异常(catch-all)的catch子句的形式为“catch(…)”。

// matches any exception that might be thrown
catch(…) {
  // place our code here
}

“catch(…)”经常与重新抛出异常的“throw;”语句结合使用。catch完成可做的所有局部工作之后,重新抛出异常。

技术分享
try {
  // actions that cause an exception to be thrown
}
catch(…) {
  // work to partially handle the exception
  throw;
}
技术分享

需要注意,如果“catch(…)”与其他catch子句结合使用,它必须放在最后。否则,任何跟在它后面的catch子句都将不能被匹配。

【学习资料】 《c++ primer》

以上是关于c++ 捕获所有异常的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 C++ 中捕获所有异常? [复制]

捕获所有异常并记录信息

异常和TCP通讯

如何打印 C++ 中捕获的异常的堆栈跟踪和 C++ 中的代码注入

C++ 捕获程序异常奔溃minidump

C#:捕获混合托管/非托管进程的所有错误/异常