wpf未处理的异常

时间:2012-04-25 08:27:32

标签: c# wpf unhandled-exception

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

4 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

根据我的经验,如果只有一些用户得到错误(并且这些用户一直得到错误),那么很可能项目文件引用了dll而没有将'CopyToLocal'属性设置为true - 因此假设所有用户将Gll安装在GAC中 - 某些用户可能不会这样做。

答案 3 :(得分:0)

如果您的处理程序被调用但异常仍未处理,则需要处理该事件:e.Handled=true;请参阅:How to suppress UI exceptions in wpf?