2

在我的 WPF 应用程序中,一些用户收到“应用程序生成了无法处理的异常”错误。我已经实现了Application.DispatcherUnhandledException事件处理程序,但该事件不处理异常。是否有可能在应用程序外部发生异常导致关闭我的应用程序,也许是内存问题?

4

4 回答 4

6

除了 DispatcherUnhandledException 之外,您可以尝试的一件事是侦听来自 AppDomain 的异常

AppDomain.CurrentDomain.UnhandledException += 
        new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

理论上,这应该捕获与您的应用程序相关的所有异常,而不仅仅是在 Dispatcher 中运行的异常。

于 2012-04-25T08:31:10.720 回答
2

您是否尝试将此也添加到您的应用程序启动中?:

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
于 2012-04-25T08:32:06.170 回答
0

如果您的处理程序被调用但异常仍未处理,则有必要处理该事件:e.Handled=true;请参阅:如何在 wpf 中抑制 UI 异常?

于 2012-04-25T13:16:45.270 回答
0

根据我的经验,如果只有一些用户收到错误(并且这些用户一直收到错误),那么项目文件很可能引用了 dll 而没有将“CopyToLocal”属性设置为 true - 因此假设所有用户都有 dll安装在 GAC 中 - 对于某些用户而言可能并非如此。

于 2012-04-25T08:42:23.837 回答