Freigeben über


Ausnahmebehandlung (Debuggen)

Eine Ausnahme ist eine von der Regel abweichende Situation, die während der Ausführung eines Programms eintritt. Ausnahmen weisen häufig auf Probleme hin, die debuggt werden müssen. Wenn eine Ausnahme ausgelöst wird, schreibt der Debugger eine Ausnahmemeldung an das Fenster Ausgabe, sofern dies im Dialogfeld Allgemein, Debuggen, Dialogfeld "Optionen" nicht deaktiviert ist.

Der Debugger unterbricht möglicherweise die Ausführung, wenn eine Ausnahme auftritt.

  • Wenn eine Nicht-ASP.NET-Ausnahme auftritt und nicht behandelt wird, unterbricht der Debugger immer die Ausführung.

  • Sie können durch eine entsprechende Konfiguration des Debuggers die Ausführung sofort beim Auftreten einer Ausnahme unterbrechen, noch bevor ein Handler aufgerufen wird. Weitere Informationen finden Sie unter Gewusst wie: Unterbrechen bei ausgelöster Ausnahme.

  • Wenn Sie mit "Nur mein Code" debuggen, haben Sie eine dritte Option zur Auswahl. Sie können durch eine entsprechende Konfiguration des Debuggers bei allen Ausnahmen, die nicht von einem Handler im Benutzercode ("Mein Code") behandelt werden, eine Unterbrechung veranlassen. Weitere Informationen finden Sie unter Gewusst wie: Unterbrechen bei Ausnahmen, die nicht vom Benutzercode behandelt werden.

  • ASP.NET verfügt über einen Ausnahmehandler der obersten Ebene, der Ausnahmen behandelt, um den Browserbenutzern die Fehlerseiten anzuzeigen. Dieser Ausnahmehandler der obersten Ebene hält eine nicht behandelte Ausnahme davon ab, den Debugger abzubrechen, es sei denn, Nur mein Code ist aktiviert. Stellen Sie sicher, dass für ASP.NET-Debuggen Nur mein Code aktiviert ist.

    Beachten Sie, dass eine nicht behandelte Ausnahme immer zu einer Unterbrechung des Debuggers führt. Auch die Einstellung "Vom Benutzercode unbehandelt" ändert das nicht.

Der Visual Studio-Debugger erkennt die folgenden Ausnahmekategorien:

  • C++-Ausnahmen

  • Common Language Runtime-Ausnahmen

  • Assistenten für verwaltetes Debuggen

  • Systemeigene Laufzeitüberprüfungen

  • Win32-Ausnahmen

  • Javascript-Laufzeitausnahmen

  • Ausnahmen für den GPU-Speicherzugriff

Die meisten Ausnahmen verfügen über Handler, die entwickelt wurden, um auf eine Ausnahme zu reagieren, wenn diese auftritt. Dadurch hat das Programm die Möglichkeit, die abnormale Situation zu beheben. Systemeigene Laufzeitüberprüfungen besitzen keine Handler.

In Visual Basic-Anwendungen werden alle Fehler vom Debugger als Ausnahmen dargestellt. Dies ist auch dann der Fall, wenn Sie Fehlerhandler des Typs On Error verwenden.

Für Visual Basic und C# verfügt der Debugger nun über das neue Ausnahmen-Assistent-Feature, das im Fall einer Ausnahme zusätzliche Informationen bereitstellt.

In den folgenden Themen erhalten Sie Informationen zur Behandlung von Ausnahmen:

Siehe auch

Konzepte

Debuggersicherheit

Weitere Ressourcen

Ausnahmen-Assistent

Debuggerwegweiser

<PAVEOVER> Gewusst wie: Einzelschritte in "Nur mein Code"