Fehlersuche: Korrekte Ausnahmebehandlung in C#

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.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Google kündigt neue Sicherheitsfunktionen für Chrome an

Der Sicherheitscheck entzieht unsicheren Websites automatisch alle Berechtigungen. Zudem können Nutzer in Chrome künftig Websites…

7 Stunden ago

Cyberkriminelle nehmen Fertigungsbetriebe ins Visier

Ontinue registriert einen Anstieg beim Anteil am Gesamtangriffsvolumen um 105 Prozent. Das Angriffsvolumen auf den…

8 Stunden ago

o1: OpenAI stellt neues KI-Modell für komplexe Abfragen vor

Das o1 genannte Modell liegt als Preview vor. Bei einer Mathematikprüfung beantwortet es 83 Prozent…

3 Tagen ago

Zoom erhält IT-Sicherheits- kennzeichen des BSI

Das Kennzeichen erhalten Zoom Workplace Pro und Zoom Workplace Basic. Es bescheinigt unter anderem aktuelle…

4 Tagen ago

Google verbessert Tab-Verwaltung in Chrome

iOS und iPadOS erhalten Tab-Gruppen. Zudem unterstützt Chrome nun die Synchronisierung von Tab-Gruppen.

4 Tagen ago

Identitätsdiebstahl: 58 Prozent der Deutschen sorgen sich um digitales Erbe

Sie befürchten einen Missbrauch der Identitäten von Verstorbenen. 60 Prozent befürworten deswegen eine Klärung des…

4 Tagen ago