c++ - 如何检测异常何时发生?

标签 c++ exception visual-c++

在 C++ (MSVC) 中,我如何测试异常当前是否“正在运行”。即,作为类析构函数的一部分被调用的代码可能会被调用,因为异常正在展开堆栈。与正常返回而调用析构函数的正常情况相反,我如何检测这种情况?

最佳答案

其实是可以的,在头中调用uncaught_exception()。 您可能想要这样做的一个原因是在析构函数中抛出异常之前,如果此析构函数作为堆栈展开的一部分被调用,这将导致程序终止。 见 http://msdn.microsoft.com/en-us/library/k1atwat8%28VS.71%29.aspx

关于c++ - 如何检测异常何时发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1187692/

相关文章:

关于设置串口 com 端口的 C++ 问题

c# - 在 Windows 系统上注销用户后立即让系统进入休眠状态

c++ - 如何使用模板根据数据类型调用函数?

wcf - 使用 HandleError 或 ProvideFault 内的 IErrorHandler 在 WCF 中记录异常?

java - 如何找到调用特定方法然后在 Eclipse 中捕获特定异常的方法?

java - 如何用java读取我电脑中的所有mp3文件?

c++ - Constexpr 函数指针作为模板参数 MSVC vs GCC

c++ - docker构建失败: Not able to set the environment variables

c# - 使用 Chromium Embedded 有没有办法从 Javascript 与程序通信?

c++ - 括号序列的类型