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