Fehlersuche: Korrekte Ausnahmebehandlung in C#

Ausnahmen liefern Fehlerinformationen. In .NET handelt es dabei um Klassen. Nachfolgend wird gezeigt, wie man sie einrichtet und Fehler im Code vermeidet, aber auch, wie man korrekt mit Fehlern umgeht.

Entwickler übersehen oft, wie wichtig die Ausnahmebehandlung ist, was dann zu Lasten ihres eigenen Codes geht. Deshalb wird im folgenden die Ausnahmebehandlung in C# gezeigt. Außerdem werden einfache Möglichkeiten vorgestellt, um Codeschnipsel („Code Snippets“) zu Anwendungscode hinzuzufügen, um bestimmte Fehler, die eine Anwendung zum Absturz bringen können, zu vermeiden.

Strukturierte Ausnahmebehandlung

Das .NET-Framework bietet einen Standardmechanismus für Fehlerberichte, der als strukturierte Ausnahmebehandlung bezeichnet wird. Dieser Mechanismus beruht auf Ausnahmen zur Meldung eines Fehlers in der Anwendung. In .NET sind Ausnahmen Klassen, die Fehlerinformationen liefern. Der Code muss so geschrieben werden, dass er codegenerierte Ausnahmen erkennt und angemessen behandelt.

Bei der Arbeit mit Ausnahmen in C# muss auf folgende Komponenten im Code geachtet werden:

  • Codeblock, der zu einer Ausnahme führen (eine Ausnahme auslösen) könnte (Try-Block).
  • Codeblock, der ausgeführt wird, falls bei der Verarbeitung des Codeblocks eine Ausnahme ausgelöst wird (Catch-Block).
  • Codeblock, der nach der Ausnahmebehandlung ausgeführt wird (optional, Finally-Block).

Ausnahmeklasse

Ausnahmeklassen im .NET-Framework werden aus einer System.Exception-Klasse abgeleitet. Die am häufigsten verwendeten Mitglieder dieser Klasse sind:

  • HelpLink ist eine Verknüpfung zu einer Hilfedatei mit Informationen über die Ausnahme.
  • Message ist Text, der die Details eines Fehlers angibt.
  • Source stellt den Namen eines Objekts oder einer Ausnahme dar, das oder die die Ausnahme ausgelöst hat.
  • StackTrace ist die Liste der aufgerufenen Methoden im Stack.
  • TargetSite ist der Name der Methode, die die Ausnahme ausgelöst hat.

Try-Catch-Finally-Block

Zur Behandlung einer Ausnahme in C# wird ein Try-Catch-Finally-Block eingesetzt.

  • Eine Try-Anweisung legt fest, dass ein Codeblock während der Ausführung auf Ausnahmen überwacht werden soll.
  • Die Catch-Anweisung gibt an, welcher Code beim Auftreten einer Ausnahme ausgeführt werden soll.
  • Mit der Finally-Anweisung wird ein Codeblock festgelegt, der nach der Ausführung eines Try-Codeblocks ausgeführt werden soll. Dieser Codeblock wird auf jeden Fall ausgeführt, unabhängig davon, ob eine Ausnahme vorliegt oder nicht. In der Praxis wird er häufig für eventuell erforderlichen Bereinigungscode (Cleanup-Code) verwendet.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Fehlersuche: Korrekte Ausnahmebehandlung in C#

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *