3

我尝试过使用Exception Reporter以及其他方法,例如https://stackoverflow.com/a/338030/342740,但无论我使用什么,Windows 崩溃错误/JIT 总是出现而不是我自己的崩溃报告。

一个简单的例子是使用 nCalc 从 try and catch 块中评估失败的表达式。

string formula = "10,1 * 231,2";
Expression exp = new Expression(formula);
exp.Evaluate();

基本上我不知道它为什么会失败以及我能做些什么来解决它。

我正在使用的测试 VM 是安装了 .Net4 的 Windows XP SP3,没有 Visual Studio 或其他任何东西都是干净的 WINXPSP3 安装。

示例图片:

在此处输入图像描述

4

1 回答 1

3

正如评论中所说,您所看到的与 JIT 无关。它是 Windows 窗体默认ThreadException处理程序(它不会出现在 WPF 应用程序中)。默认情况下,此对话框仅在您未附加到调试器时出现。

在您的Main方法中,添加以下行:

Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);

这将强制异常通过ThreadException处理程序,允许您处理它们并显示您自己的异常对话框。有关MSDN的更多信息。

于 2012-07-17T22:38:22.773 回答