Zum Hauptinhalt springen
Veröffentlicht am

Ausnahmen in C#

Teilen:

Einführung

Beim Programmieren stoßen wir häufig auf unerwartete Situationen, die die normale Ausführung unseres Codes unterbrechen können. Diese Unterbrechungen werden gemeinhin als Ausnahmen bezeichnet. In C# ist die Ausnahmebehandlung grundlegend für die Entwicklung robuster und widerstandsfähiger Software.

Was sind Ausnahmen?

Eine Ausnahme in C# ist ein Ereignis, das auftritt, wenn während der Programmausführung eine ungewöhnliche Bedingung eintritt. In der Praxis stellt sie einen Fehler dar, der durch verschiedene Ursachen bedingt sein kann, wie IO-Fehler, Logikfehler oder Probleme beim Ressourcenzugriff.

Wie man Ausnahmen behandelt

try-catch-Blöcke

Der try-Block enthält Anweisungen, die eine Ausnahme auslösen können, während der catch-Block den Code enthält, der als Reaktion auf eine Ausnahme ausgeführt wird.

finally-Block

Der finally-Block wird immer nach den try- und catch-Blöcken ausgeführt, unabhängig davon, ob eine Ausnahme aufgetreten ist oder nicht. Er wird typischerweise für Aufräumarbeiten verwendet, wie das Schließen von Verbindungen oder Dateien.

using System;

namespace Base {
  class Ausnahmen {
    public void Run() {
      int[] zahlen = new int[5] {
        1, 2, 3, 4, 5
      };

      try {
        Console.WriteLine($"Inhalt des Elements: {zahlen[4]}");
      }
      catch (Exception ausnahme) {
        Console.WriteLine("Eine Ausnahme ist aufgetreten!");
        Console.WriteLine(ausnahme);
      }
      finally {
        Console.WriteLine("Der finally-Block wird immer ausgeführt.");
      }
    }
  }
}

Häufige Ausnahmen in C#

  • NullReferenceException: Wird ausgelöst, wenn versucht wird, auf ein Member eines null-Objekts zuzugreifen.
  • IndexOutOfRangeException: Tritt auf, wenn versucht wird, auf einen Index außerhalb der Grenzen eines Arrays zuzugreifen.
  • InvalidCastException: Entsteht, wenn versucht wird, einen Typ in einen inkompatiblen umzuwandeln.

Fazit

Das Verstehen und korrekte Behandeln von Ausnahmen in C# ist unerlässlich für die Entwicklung zuverlässiger und robuster Anwendungen. Durch die Übernahme geeigneter Praktiken zur Ausnahmebehandlung stellen wir sicher, dass unsere Programme mit Fehlern elegant umgehen und den Benutzer angemessen informieren können.

Happy coding!