C# 应用程序未处理异常和AppDomain未处理异常之间的区别

C# 应用程序未处理异常和AppDomain未处理异常之间的区别,c#,silverlight,unhandled-exception,C#,Silverlight,Unhandled Exception,我有一个silverlight应用程序,我注意到有两个不同的未处理异常处理程序 System.Windows.Application.UnhandledException和System.AppDomain.CurrentDomain.UnhandledException 两者之间有什么区别?我需要同时处理这两个问题吗 我的猜测是System.Windows.Application.UnhandledException将是当前线程的未处理异常,其中作为AppDomain.CurrentDomain

我有一个silverlight应用程序,我注意到有两个不同的未处理异常处理程序


System.Windows.Application.UnhandledException和System.AppDomain.CurrentDomain.UnhandledException

两者之间有什么区别?我需要同时处理这两个问题吗


我的猜测是System.Windows.Application.UnhandledException将是当前线程的未处理异常,其中作为AppDomain.CurrentDomain.UnhandledException将是所有线程的未处理异常。

Application.UnhandledException特定于在用户界面线程上运行的事件处理程序引发的异常。由于引发这些事件的是运行时,因此没有其他方法可以捕获此类异常。有时它们并不是致命的,你通常不会在点击事件处理程序中对程序状态造成巨大的破坏,因此应用程序可能会步履蹒跚。理论上。避免通过不编写事件处理程序来处理这两个问题,这样所有内容都可以通过AppDomain.UnhandledException进行处理。@HansPassant,谢谢你提供的信息,请你添加你的评论作为答案,我会将其标记为已接受。