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

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

3 Tagen ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

3 Tagen ago

Digitalisierung! Aber wie?

Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…

3 Tagen ago

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

3 Tagen ago

Maximieren Sie Kundenzufriedenheit mit strategischem, kundenorientiertem Marketing

Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…

4 Tagen ago

Chatbot-Dienst checkt Nachrichteninhalte aus WhatsApp-Quellen

Scamio analysiert und bewertet die Gefahren und gibt Anwendern Ratschläge für den Umgang mit einer…

4 Tagen ago