Was genau ist eine Ausnahme der ersten Chance? Wie und wo stammt es aus einem .NET-Programm? Und warum heißt es so eigenartig (von welcher 'Chance' sprechen wir)?
.net
visual-studio
debugging
exception
first-chance-exception
Friedrich der Narr
quelle
quelle
finally
Blöcke ausgeführt werden . Sobald das System entschieden hat, wer eine Ausnahme abfangen wird (und festgestellt hat, dass tatsächlich jemand eine Ausnahme abfangen wird), beginnt das System, den Stapel abzuwickeln. Beachten Sie, dass, wenn eine Ausnahme von einemfinally
Block ausgelöst wird ...catch
gibt, geht die Kontrolle dorthin. Wenn keincatch
Block vorhanden ist, wird die Unterbrechung "zweite Chance" angezeigt . Diesmal lautet die Meldung " Eine nicht behandelte Ausnahme vom Typ" foo "ist in YourApp.exe aufgetreten . Von hier aus wird der Versuch, fortzufahren oder weiterzugehen, nicht erfolgreich sein.Ausnahmemeldungen der ersten Chance werden ausgelöst, wenn eine Ausnahme ausgelöst wird. Benachrichtigungen der zweiten Chance sind, wenn sie nicht abgefangen werden. (Chance - als Gelegenheit, in den Code im Debugger einzubrechen).
Ausnahmebehandlung der ersten und zweiten Chance
quelle
Ich habe gerade angefangen, den Debugger zu verwenden, und bin darauf gestoßen. Bei meinen Recherchen habe ich den MSDN-Blogbeitrag gefunden. Was ist eine Ausnahme der ersten Chance? das hat es für mich geklärt.
Die großen Erkenntnisse aus dem Blog-Beitrag sind für mich, dass es sich um eine Benachrichtigung an den Debugger handelt und nicht um etwas, das mein Code unbedingt verarbeiten müsste, und vor allem: "Ausnahmemeldungen der ersten Chance bedeuten meistens nicht, dass es ein Problem in der gibt." Code."
quelle
Wenn eine Anwendung debuggt wird, wird der Debugger benachrichtigt, wenn eine Ausnahme auftritt. Zu diesem Zeitpunkt wird die Anwendung angehalten und der Debugger entscheidet, wie die Ausnahme behandelt wird. Der erste Durchgang durch diesen Mechanismus wird als "First Chance" -Ausnahme bezeichnet.
Abhängig von der Konfiguration des Debuggers wird entweder die Anwendung fortgesetzt und die Ausnahme weitergeleitet, oder die Anwendung wird angehalten und in den Debug-Modus versetzt. Wenn die Anwendung die Ausnahme behandelt, wird sie normal weiter ausgeführt.
Ausnahmemeldungen der ersten Chance bedeuten meistens nicht, dass ein Problem im Code vorliegt. Bei Anwendungen / Komponenten, die Ausnahmen ordnungsgemäß behandeln, teilen Ausnahmemeldungen der ersten Chance dem Entwickler mit, dass eine Ausnahmesituation aufgetreten ist und behandelt wurde.
quelle
Aus Entwicklersicht handelt es sich eher um eine Ausnahme der zweiten Chance, da dies bedeuten würde, dass sie nicht im Code behandelt wurde . daher würde die Anwendung aufhören.
Die erste Chance könnten viele von ihnen sein, aber diejenigen, die sich aus entwicklungspolitischer Sicht um mehr kümmern, sind die zweite Chance, da dies zu einem Absturz der Anwendung führen würde.
quelle