Vorgehen unhandled exceptions

28/05/2010 - 21:02 von Michael Thelen | Report spam
Hallo zusammen,

wo ist eigentlich der Unterschied zwischen:

AppDomain.UnhandledException Event

und

Application.DispatcherUnhandledException Event?

Ich nutze in meiner Applikation WPF und habe letzteres Event genutzt.
Dazu muss man ja Exceptions die in nicht UI Threads auftreten abfangen
und in den UI-Thread marshallen. Jetzt sagte mir jemand ich könne auch
das andere Event nehmen, dann werden alle unhandled exceptions abgefangen.

Einen Unterschied habe ich schon fest gestellt. Ich kann bei
AppDomain.UnhandledException Event das Terminieren der Anwendung nicht
verhindern. Ist das der einzige und ich entscheide dann nach
Anwendungsfall? Gibt es andere Unterschiede, Nachteile, Vorteile?

Gruß
Michael
 

Lesen sie die antworten

#1 Thomas Scheidegger
29/05/2010 - 10:24 | Warnen spam
Hallo Michael

wo ist eigentlich der Unterschied zwischen:
AppDomain.UnhandledException Event
Application.DispatcherUnhandledException Event?



solange es um Code geht der
im WPF Main UI Thread làuft, gilt in erster Linie und bevorzugt:
Application.DispatcherUnhandledException
http://msdn.microsoft.com/en-us/lib...ption.aspx

mit Beachtung von:
DispatcherUnhandledExceptionEventArgs.Handled

Dazu muss man ja Exceptions die in nicht UI Threads auftreten
abfangen und in den UI-Thread marshallen.



richtig, kann man so machen, nur Bsp:
http://www.jimandkatrin.com/CodeBlo...tions.aspx

Jetzt sagte mir jemand ich könne auch das andere Event nehmen,
dann werden alle unhandled exceptions abgefangen.



dies stimmt so IMHO kaum (mehr),
da ist die Sache 'komplexer'
und wurde zT in .NET Versionen 2.0/4 geàndert:
http://msdn.microsoft.com/en-us/lib...28965.aspx
http://msdn.microsoft.com/en-us/lib...ption.aspx

IMHO ist es nicht eine Frage von entweder/oder,
sondern WPF Apps sollten schon primàr mal DispatcherUnhandledException
nutzen, ggf besser beides.


Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/

Ähnliche fragen