如何生成未处理的 MFC 异常?

Posted

技术标签:

【中文标题】如何生成未处理的 MFC 异常?【英文标题】:How to generate unhandled MFC exception? 【发布时间】:2017-02-01 15:57:27 【问题描述】:

我想测试应该捕获未处理的 MFC 异常的“ProcessWndProcException”函数。所以我需要一个简单的例子,它会生成一个未处理的 MFC 异常。谷歌搜索没有多大帮助,所以也许有人有任何想法?

【问题讨论】:

我建议在 *** 上搜索 MFC 异常发生的原因。使用有问题的代码。 :) 问题里有指向ProcessWndProcException(CException* e, const MSG* pMsg)函数,其实就是代码! 您无法生成“未处理的异常”。您需要引发异常并在除了***未处理异常过滤器之外没有安装任何异常框架的代码中执行此操作。 【参考方案1】:

你可以只扔一个CException 而不在任何地方抓到它。

Exception Processing 有 MFC 提供的各种抛出异常函数的信息。

// Throw a CMemoryException
AfxThrowMemoryException();

奖金信息:Exceptions: Throwing Exceptions from Your Own Functions

【讨论】:

使用 MFC,您不应该抛出 CException 对象本身,您应该向它抛出 指针

以上是关于如何生成未处理的 MFC 异常?的主要内容,如果未能解决你的问题,请参考以下文章

来自 MFC 对话框中使用的托管 C# 用户控件的未处理异常

来自未处理异常的 C++ 堆栈跟踪?

MFC 对话框冻结

如何在 MFC 中处理 CTreeCtrl 的状态更改事件

未处理的异常 MSVCRTD.DLL

如何在未处理的任务异常上崩溃?