捕获 C++ CLI 应用程序中登录的异常

2023-12-25

我试图捕获 C++/CLI 应用程序中的所有异常,以便我可以记录它们(包括堆栈跟踪)。到目前为止,我有一些看起来很有希望的代码:

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    // Enabling Windows XP visual effects before any controls are created
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false); 

    // Create the main window and run it
    try
    {
        Application::Run(gcnew MainForm());
    }
    catch( System::Exception^ e )
    {
        String^ message = gcnew String("");
        System::Exception^ exceptionRecursor = e;

        message = "ERROR: Uncaught exception encountered!\n\n";
        while( exceptionRecursor )
        {
            message += exceptionRecursor->Source+"\n\t";
            message += exceptionRecursor->Message+"\n\t";
            message += exceptionRecursor->StackTrace+"\n\n";
            exceptionRecursor = exceptionRecursor->InnerException;
        }
        MessageBox::Show(message);
    }

    return 0;
}

...但是我没有显示一个包含我整理的错误的对话框,而是得到了其他内容:

An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll

Additional information: Exception has been thrown by the target of an invocation.

这是因为Run命令正在尝试以某种方式处理异常?我需要处理里面的事情吗MainForm某处? ...或者是否有其他(更好)的方法来解决这个问题。

暂时忘记错误的来源(我正处于开发周期中期,仍在调试),如果能够捕获这些错误并生成一个整洁的小堆栈跟踪,该跟踪可以保留在代码中直到部署和部署,那就太好了当出现问题时让用户知道。最终我将错误报告包装成可以通过网络报告的内容。


如果反射发生在不同的线程中,则包装器不会捕获它的失败。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

捕获 C++ CLI 应用程序中登录的异常 的相关文章

  • 什么可能导致主键异常?

    我的 ASP 页使用以下存储过程将会话变量存储在 SQL Server 中 CREATE PROCEDURE dbo MyProcedure sessionId varchar 512 variable varchar 350 value
  • Nodejs 进程挂起,我该如何调试它或收集转储?

    我的nodejs进程在Linux上运行 现在挂起并且CPU为100 无论如何我可以调试它并找到原因吗 我需要收集转储吗 如何收集 谢谢 有一个 npm 模块叫做节点为何运行 https www npmjs com package why i
  • 使用Android WebView时JavaScript异常在哪里显示?

    我有一个简单的 HTML 我将其加载到 Android WebView SDK 版本 1 5 中 h1 Hello World h1 函数 nomethod 不存在 但 LogCat 不显示任何错误 似乎任何未捕获的异常都无法追踪 知道如何
  • 从 Python 调试 C 库 (ctypes)

    我有一个使用 ctypes 和 C 共享库 dll 文件 的 Python 程序 作为 IDE 我使用 Eclipse 其中将开发两个项目 C 共享库和使用它的 python 程序 我的想法是 当我在调试模式下启动Python程序时 我可以
  • print_r 的替代方案(仅显示最多 2 3 个键)

    我有一个multi dimensional array有 200 个键 每个键有 3 到 5 个数组 我想知道有什么方法可以只看到有限的部分 即最多 3 或 4 个键 因为如果我使用print r desiredArray 然后花费了太多时
  • 查看 Android 应用程序的共享首选项?

    当我在 Eclipse 中处理我的应用程序时 有没有办法在模拟器中调试时查看我对应用程序的共享首选项所做的更改 提前致谢 在模拟器中运行项目 然后从 Eclipse 选择菜单 Windows gt 打开透视图 gt DDMS 从选项卡设备中
  • 该模块的调试信息中缺少源信息 - PDB 已成功加载

    Visual Studio 加载正确的 PDB 文件 但无法找到解决方案中任何内容的源信息 我尝试过的事情 清理 重新启动 重新生成项目 CMake 重建 检查模块窗口以确保 PDB 已加载 确实如此 解决方案属性下的 调试源文件 设置混乱
  • Spring @ControllerAdvice 与 ErrorController

    在我的 REST 服务应用程序中 我计划创建一个 ControllerAdvice捕获控制器抛出的异常并返回的类ResponseEntity根据错误类型的对象 但我已经有一个 RestController类实现ErrorController
  • 关于捕获异常的良好实践

    我正在用 C 11 编写一个小程序 并且第一次真正使用异常 我有一个关于如何有效捕获异常的问题 经过一番谷歌搜索后我仍然没有答案 这是问题 通过 const 左值引用捕获异常还是通过 const 右值引用捕获异常 哪个更有效 或推荐 在代码
  • ibatis spring java.lang.NoSuchMethodError com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse

    我在 weblogic 10 3 6 中使用 spring 3 2 0 和 ibatis 2 3 4 在weblogic中部署时 我得到这个 NoSuchMethodError 如下 User defined listener org sp
  • Java 中的异常捕获

    Java 中有一些预定义的异常 如果抛出这些异常 就会报告发生了严重的事情 你最好改进你的代码 而不是在 catch 块中捕获它们 如果我理解正确的话 但我仍然发现许多程序中有以下内容 catch IOException e catch F
  • 使用 MinGW gcc 4.4.0 增强 thread_interrupted 异常终止(),使用 3.4.5 则正常

    今天我一直在 玩弄 boost 线程作为学习练习 并且我有一个几个月前构建的工作示例 在我被打断并不得不暂时放弃多线程之前 它显示了不寻常的行为 当我最初编写它时 我使用的是 MingW gcc 3 4 5 并且它有效 现在我正在使用 4
  • 检查内部异常的最佳方法?

    我知道有时 innerException 为 null 因此以下操作可能会失败 repEvent InnerException ex InnerException Message 有没有一种快速的三元方法来检查innerException是
  • 如何调试 EF5 在运行时生成的 SQL?

    所以我对 EntityFramework 还很陌生 实际上现在处于 POC 阶段 我试图回答的问题之一是如何通过调试器或其他进程可附加工具可视化 EF 生成的查询 我试图解决的情况是 在尝试调试 QA 或生产问题时 开发人员需要能够通过远程
  • 由于 3rd 方库的位置,启动 Solr cloud 时出错

    我尝试迁移到 Solr 3 1 我的项目使用 Dataimport handler 当我启动 solr 时 它问我找不到 SolrCoreAwar 我将以下文件复制到 lib 目录 apache solr dataimporthandler
  • System.Drawing.Image.Save 抛出ExternalException:GDI 中发生一般错误

    我有一个函数 它需要一个位图 复制它的一部分并将其保存为 8bpp tiff 结果图像的文件名是唯一的并且文件不存在 程序有权写入目标文件夹 void CropImage Bitmap map Bitmap croped new Bitma
  • 分层架构中的异常处理

    我们正在分层设计中重构 当然还有重新设计 我们的服务 我们有服务操作层 BLL 网络抽象层 gt 处理网络代理 数据抽象层 但我们对我们的异常处理策略有点困惑 我们不想向外界透露太多 BLL 的信息 从其他层到bll就可以了 我们不想让 t
  • java中永远不会出现的异常

    我为点和向量编写一个类 我想用它们来计算向量的点和范数 这些是点类和向量类 public class Point public float x y public class MyVector public Point start end 我
  • 如何在 gem 的示例脚本中使用 pry-byebug ?

    我正在制作我的第一个 gem 它不是 Rails 应用程序 而是一个带有一些 AI 的 tic tac toe 库 这样我就可以与一个永远不会输的计算机对手比赛 并在可能的情况下强行获胜 现在我正在尝试调试人工智能中的攻击策略 但我似乎无法
  • 如何知道抛出了哪个异常

    我正在对我们的代码库进行审查 有很多这样的陈述 try doSomething catch Exception e 但我想要一种方法来知道 doSomething 抛出了哪个异常 在 doSomething 的实现中没有 throw 语句

随机推荐

  • 在这种情况下我应该使用 Drools 吗?

    我将使用大学的图书馆系统来解释我的用例 学生在图书馆系统中注册并提供个人资料 性别 年龄 院系 以前完成的课程 当前注册的课程 已借阅的书籍等 图书馆系统中的每本书都会根据学生的资料定义一些借阅规则 例如 计算机算法课本只能由当前注册该班级
  • 未能@AutoWire @WebServlet 中的成员

    我似乎无法将我的 servlet 的字段传递给 AutoWire 他们最终归零 我有一个纯注释配置的 web 应用程序 没有 XML 文件 我的 servlet 看起来像这样 WebServlet service public class
  • 将 python Webserver 作为 Windows 服务运行

    我有服务器和控制台scripts http svn python org projects python trunk Lib CGIHTTPServer py它继续监听端口上的控制台和服务器请求 在 UNIX 环境中 我将服务器和控制台脚本
  • 在脚本中使用临时函数或过程

    我在用SQL Server 2012 我有一个脚本 通过它我可以将值插入到表中 在该脚本中我必须转换某些值的格式DateTime基于两个参数的变量 我可以使用CASE or if条件在sql 我不被允许做任何Function or proc
  • 如何在卡片操作中单击时调用特定回调 - Bot Framework

    我展示了一个带有一些产品的轮播 每个产品都有一个带有代码的按钮 卡片操作类型为 ImBack 但一旦通过 postAsync 方法显示轮播 单击按钮将再次调用根对话框 有没有办法定义按钮单击的回调或显示相同的轮播但使用 PromptDial
  • Windows Vista 中的安装文件名

    我在这篇文章中读到 http technet microsoft com en us library cc709628 aspx http technet microsoft com en us library cc709628 aspx
  • QTableView:当用户使用鼠标单击特定单元格时如何获取数据

    其实我是Qt新手 无法匹配QMouseEvent with QTableview 请帮助解决这个问题 下面是一个示例 说明如何在单击表格单元格时获取该单元格的文本 假设一个QTableView定义在一些MyClass班级 你需要connec
  • 如何使用 Bower 安装 Bootstrap v4 alpha? [复制]

    这个问题在这里已经有答案了 The v4 alpha 文档 http v4 alpha getbootstrap com getting started download states Bootstrap v4 0 0 alpha 可以通过
  • 如何运行将数据加载到其他项目 BigQuery Table 的云编辑器任务

    我在项目 A 下创建了云编辑器环境 我想将数据加载到其他项目 B BigQuery 表中 我知道任务 GCSToBigQueryOperator 但它没有成功 它失败了 我想知道如何实现这一点 我想从项目 A 运行一个将数据加载到项目 B
  • 滚动到 angular2 时动画进入视图

    我找到了一个库 用于在滚动到 aos https github com michalsnik aos 但它似乎没有任何 angular2 绑定可供使用 有谁知道如何在 Angular2 中完成类似的事情 或者至少配置 aos 在 Angul
  • 如何在iPhone中创建应用程序包?

    我使用 XCode 制作了一个小型应用程序 我如何创建一个应用程序包以将其安装在 iPhone 中 谁能帮我解决这个问题 提前致谢 是的 如上所述 您需要支付 99 美元的开发者费用 完成此操作后 您可以通过 XCode 直接部署到使用配置
  • PHP 中的数组打乱顺序

    我有以下代码 输出如下 域名 com image1 jpg 域名 com image2 jpg 域名 com image3 jpg 我正在尝试随机化输出的顺序 在 foreach 语句之前 我尝试使用 shuffle bb 对数组进行洗牌
  • 创建与 DetailView 相反的视图

    上传图像后 我试图从 CreateView 反转到 DetailView 我收到同样的消息 NoReverseMatch 位于 photo image add 未找到带有参数 和关键字参数 pk 50 的 image view 的反向操作
  • SailsJS Waterline 与 Bluebird Promises

    使用 Waterline ORM 时 如果我想使用默认提供的 bluebird Promise api 如何将处理传递回控制器 下面是代码 module exports Authenticate auth function req res
  • 如何衡量两个数据的相似度

    我正在测量两个大小相同的数据的相似度为20 即 A 0 915450999999999 0 908220499999997 0 900374999999996 0 890547499999996 0 880455499999997 0 86
  • 如何让 Firestore 索引合并发挥作用?

    我在使用 firestore 索引合并来减少所需索引的数量时遇到问题 考虑这个示例情况 Firestore 集合 测试 somedoc a 1 b 1 c 1 d 1 这将导致 Firestore 在测试时为字段 a 到 d 创建 4 个自
  • scala.js 与 jscala 有什么区别?

    有两个工具可以直接在 JavaScript 中编译 Scala 代码 Scala js http www scala js org and JScala https github com nau jscala 它们看起来都很棒 并且可以使用
  • issubclass 的用法

    gt gt gt import sys gt gt gt sys version info 2 4 4 final 0 gt gt gt class C pass gt gt gt issubclass C C True gt gt gt
  • 处理 Akka actor 中的错误

    我有一个非常简单的例子 我有一个演员 SimpleActor 通过向自身发送消息来执行周期性任务 该消息在参与者的构造函数中安排 在正常情况下 即没有故障 一切正常 但如果 Actor 必须处理错误怎么办 我还有另一个演员 SimpleAc
  • 捕获 C++ CLI 应用程序中登录的异常

    我试图捕获 C CLI 应用程序中的所有异常 以便我可以记录它们 包括堆栈跟踪 到目前为止 我有一些看起来很有希望的代码 STAThreadAttribute int main array