Ich wollte einen Handler für alle unerwarteten Ausnahmen festlegen, die ich möglicherweise nicht in meinem Code gefangen hatte. In Program.Main()
habe ich den folgenden Code:Umgang mit unbehandelten Ausnahmen Problem
AppDomain.CurrentDomain.UnhandledException
+= new UnhandledExceptionEventHandler(ErrorHandler.HandleException);
Aber es hat nicht funktioniert, wie ich erwartet hatte. Als ich die Anwendung im Debugging-Modus gestartet und eine Ausnahme ausgelöst habe, hat sie den Handler aufgerufen, aber danach ist der Ausnahme-Helper in Visual Studio aufgetaucht, als ob die Ausnahme ohne jegliche Behandlung aufgetreten wäre. Ich habe versucht, Application.Exit() innerhalb des Handlers, aber es hat nicht so gut funktioniert.
Was ich erreichen möchte ist, dass die Ausnahme mit meinem Handler behandelt wird und dann die Anwendung gut schließt. Gibt es einen anderen Weg, oder verwende ich den obigen Code falsch?
gut, ja, natürlich weiß ich das;) – agnieszka
dann warum nicht in Main() fangen? –
"Ich weiß, dass" war eine Antwort auf den Teil "Senke für Fehler". Ich wurde Versuch-Catch in Main unterrichtet ist eine Sache, die Sie nicht tun sollten. Allerdings muss ich ehrlich sagen, dass ich nicht weiß, warum es ein schlechter Ansatz wäre (natürlich, wenn ich alle Ausnahmen erwische, die ich innerhalb des Codes denken kann) – agnieszka