Ist try / catch um ganzes C # Programm möglich?
-
05-07-2019 - |
Frage
Ein C # Programm wird aufgerufen durch:
Application.Run (new formClass ());
Ich möchte einen try / catch um die ganze Sache keine abgefangene Ausnahmen zu stoppen setzen. Als ich es, um diese Run-Methode setzte, sind Ausnahmen nicht gefangen; Steuerung nur hier gibt, wenn das Programm nach einer abgefangene Ausnahme beendet wird.
Wo kann ich setzen try / catch das ganze Programm zu decken? Dank!
Lösung
Windows Form der nicht behandelte Ausnahmen abfangen Hook-up der
AppDomain.UnhandledException
und Application.ThreadException
Ereignisse.
Von Interesse: unerwartete Fehler in Managed Applications
Andere Tipps
Im Grunde können Sie nicht alle Ausnahmen abfangen, wenn das Standard-CLR-Hosting-Verfahren. Zeitraum. Dies liegt daran, das AppDomain.UnhandledException
Ereignis eine Benachrichtigung nur , können Sie die Ausnahme nicht umgehen (was bedeutet, dass Sie die Anwendung nicht verhindern können, nach der Verarbeitung der Meldung beendet wird).
Sie können jedoch alle Ausnahmen in dem UI-Thread einer WinForms-Anwendung fangen und zu handhaben, indem es seine Application.ThreadException
Handler (und steuert das Verhalten über