Gewusst wie: Debuggen von ASP.NET-Ausnahmen
Das Debuggen von Ausnahmen ist ein wichtiger Teil bei der Entwicklung einer robusten ASP.NET-Anwendung. Allgemeine Informationen über das Debuggen von Ausnahmen finden Sie unter Ausnahmebehandlung (Debuggen).
Zum Debuggen von nicht behandelten ASP.NET-Ausnahmen muss sichergestellt sein, dass der Debugger dort anhält. Die ASP.NET-Laufzeit verfügt über einen Ausnahmehandler der obersten Ebene. Daher wird der Debugger bei Ausnahmefehlern standardmäßig nie unterbrochen. Um den Debugger beim Auslösen einer Ausnahme zu unterbrechen, müssen Sie die Einstellung Unterbrechen bei folgendem Ausnahmezustand: Ausgelöst für die jeweilige Ausnahme im Dialogfeld Ausnahmen auswählen.
Falls Nur mein Code aktiviert ist, hält der Debugger bei Unterbrechen bei folgendem Ausnahmezustand: Ausgelöst nicht sofort an, wenn eine Ausnahme in einer .NET Framework-Methode oder anderem Systemcode ausgelöst wird. Stattdessen wird die Ausführung fortgesetzt, bis der Debugger auf Nicht-Systemcode trifft, und dann unterbrochen. Folglich müssen Sie den Systemcode nicht schrittweise durchlaufen, wenn eine Ausnahme auftritt.
Die Einstellung Nur mein Code stellt Ihnen eine weitere Option zur Verfügung, die sogar noch nützlicher sein kann: Unterbrechen bei folgendem Ausnahmezustand: Vom Benutzercode unbehandelt. Bei dieser Einstellung für eine Ausnahme unterbricht der Debugger die Ausführung im Benutzercode nur, wenn die Ausnahme nicht durch den Benutzercode abgefangen und behandelt wird. Diese Einstellung neutralisiert die Wirkung des ASP.NET-Ausnahmehandlers der obersten Ebene, da dieser kein benutzerdefinierter Code ist.
So aktivieren Sie Debuggen der ASP.NET-Ausnahmen mit Nur mein Code
Klicken Sie im Menü Debuggen auf Ausnahmen.
Das Dialogfeld Ausnahmen wird angezeigt.
Wählen Sie in der Zeile Common Language Runtime-AusnahmenAusgelöst oder Vom Benutzercode unbehandelt aus.
Wenn Sie die Einstellung Vom Benutzercode unbehandelt verwenden möchten, muss Nur mein Code aktiviert werden.
Empfohlene Vorgehensweise für die ASP.NET-Ausnahmebehandlung
- Platzieren Sie try … catch-Blöcke für Code, der Ausnahmen auslösen kann, die Sie vorhersehen und behandeln können. Wenn die Anwendung beispielsweise Aufrufe an einen XML-Webdienst sendet oder direkt an einen SQL Server, sollte dieser Code in try … catch-Blöcken stehen, weil dadurch eine ganze Anzahl Ausnahmen ausgelöst werden kann.