DispatcherUnhandledException wird nur vom Benutzeroberflächenthread ausgelöst und nur dann, wenn beim Ausführen eines Ereignisses eine Ausnahme ausgelöst wurde. Es gibt eine gewisse Tradition, diese Art von Ausnahmen speziell zu behandeln, Windows Forms hat es auch mit Application.ThreadException (schlecht benannt, nichts mit Threads zu tun).
Der Grund ist, dass es eine geringe Chance gibt, die Ausnahme zu behandeln und das Programm am Leben zu erhalten, da UI-Ereignishandler den Status des Programms nicht immer zu stark verändern. Dies erfordert große Portionen von Wunschdenken. In Windows Forms ist dies extrem, es wird ein ThreadExceptionDialog mit der Schaltfläche "Fortfahren" angezeigt, mit dem der Benutzer die Ausnahme ignorieren kann. WPF tut das nicht, Sie müssten einen solchen Dialog selbst schreiben. Deshalb ist die Veranstaltung da.
Die Standardaktion von DispatcherUnhandledException besteht darin, die Ausnahme nicht abzufangen. Sie können es also ignorieren, AppDomain.UnhandledException wird als nächstes ausgelöst.
Wenn Application.DispatcherUnhandledException nicht verwendet wird, werden diese Ausnahmen in AppDomain.UnhandledException angezeigt und die Anwendung wird sofort beendet. – stijn
Anwendung wird nicht vorhanden sein, wenn die Ausnahme abgefangen und behandelt wird.Sowohl die Antwort als auch der Kommentar implizieren, dass die Anwendung entweder beendet wird, was falsch ist. – vikp