Ausnahme im Formularladeereignis nicht behandelt

Ich bin gerade auf merkwürdiges Verhalten mit Ausnahmebehandlung in .Net gestoßen. (Ich verwende C # in MS Visual Studio 2008, aber eine Frage, die ich hier sah, schien zu implizieren, dass das, was ich sehe, in der gesamten .NET-Welt zutrifft.) Ich schreibe eine einfache WinForm-Anwendung. Ich verursache absichtlich eine unbehandelte Ausnahme, die in einem Ereignishandler form_load außerhalb eines Try-Blocks ausgelöst wird. Ich bekomme keine Benachrichtigung. Wenn bei einer normalen Methode eine nicht behandelte Ausnahme auftritt, wird eine Meldung mit dem Hinweis angezeigt, dass die Ausnahme aufgetreten ist, und es werden Informationen zu dem Problem angezeigt. Im Handler verlässt der Code die Funktion jedoch nur im Hintergrund, ohne dass jemand davon erfährt. Wenn ich einen try / catch-Block hinzufüge, wird die Ausnahme wie erwartet abgefangen.

Trifft es zu, dass dieses Verhalten in allen Ereignishandlern auftritt? Und ist das erwartetes Verhalten? Und wenn ja, besteht die Gefahr, dass böse Dinge passieren, wenn ein Ereignishandler unerwartet stoppt?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage