0Pricing
C# Academy · Lektion

Einfache Diagnosen: Exceptions oder Guard-Prüfungen

Verwenden Sie Guard-Prüfungen für erwartete ungültige Eingaben, lösen Sie bei außergewöhnlichen Zuständen Exceptions aus und behandeln Sie Fehler mit try/catch auf angemessene Weise.

Einfache Diagnosen: Exceptions oder Guard-Prüfungen ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 3 Lektionen.

Übersicht zur Diagnose

Ziel: Verwenden Sie Guard-Prüfungen für erwartete Probleme und Ausnahmen für seltene, schwerwiegende Probleme.

Beispiel für eine Guard-Prüfung

Guard-Prüfungen geben bei häufigen ungültigen Eingaben einen Status zurück, anstatt eine Ausnahme auszulösen.

using System;

public class Program
{
  public static bool TryDivide(int a, int b, out int result)
  {
    if (b == 0)
    {
      result = 0;
      return false; // guard check fails
    }
    result = a / b;
    return true;
  }

  public static void Main(string[] args)
  {
    int r;
    bool ok = TryDivide(10, 0, out r);
    Console.WriteLine("ok=" + ok + " result=" + r);
  }
}

Beispiel für eine Ausnahme

Ausnahmen beenden die Ausführung, sofern sie nicht behandelt werden. Verwenden Sie sie für unerwartete oder schwerwiegende Bedingungen.

using System;

public class Program
{
  public static int PriceWithTax(int price, int ratePercent)
  {
    if (price < 0)
    {
      throw new ArgumentOutOfRangeException("price");
    }
    if (ratePercent < 0 || ratePercent > 100)
    {
      throw new ArgumentOutOfRangeException("ratePercent");
    }
    return price + (price * ratePercent / 100);
  }

  public static void Main(string[] args)
  {
    try
    {
      int total = PriceWithTax(100, 20);
      Console.WriteLine("Total=" + total);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Error: " + ex.Message);
    }
  }
}

Prüfungen und Ausnahmen kombinieren

Kombinieren Sie die Ansätze: Guard-Prüfungen für routinemäßige Validierungen, Ausnahmen für ungültige Zustände.

using System;

public class Program
{
  public static bool TryParsePrice(string text, out int value)
  {
    return int.TryParse(text, out value); // guard check
  }

  public static int GetDiscount(int code)
  {
    if (code < 0) throw new ArgumentException("Invalid code"); // exception
    return 10;
  }

  public static void Main(string[] args)
  {
    int v;
    if (TryParsePrice("123", out v))
    {
      Console.WriteLine("Parsed " + v);
    }

    try
    {
      int d = GetDiscount(-1);
      Console.WriteLine("Discount=" + d);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Error: " + ex.Message);
    }
  }
}

try/catch-Beispiel

Verwenden Sie try/catch, um Ausnahmen zu behandeln und das Programm weiterlaufen zu lassen.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    try
    {
      int x = 10;
      int y = 0;
      int z = x / y; // will throw DivideByZeroException
      Console.WriteLine(z);
    }
    catch (DivideByZeroException ex)
    {
      Console.WriteLine("Cannot divide by zero: " + ex.Message);
    }
  }
}

Tipps

Tipps:

  • Guard-Prüfungen geben in häufigen Fällen sichere Standardwerte zurück.
  • Ausnahmen sollten selten und aussagekräftig sein.
  • Fangen Sie nur Ausnahmen ab, die Sie behandeln können.

Guard-Prüfung oder Ausnahme

Kurze Frage: Wann sollten Sie Guard-Prüfungen dem Auslösen von Ausnahmen vorziehen?

Zusammenfassung

Zusammenfassung: Verwenden Sie Guard-Prüfungen für häufige ungültige Eingaben, lösen Sie bei Ausnahmezuständen Ausnahmen aus und behandeln Sie sie mit try/catch, wenn eine Wiederherstellung möglich ist.

Häufig gestellte Fragen

Ist die Lektion „Einfache Diagnosen: Exceptions oder Guard-Prüfungen“ kostenlos?

Ja — der vollständige Text von „Einfache Diagnosen: Exceptions oder Guard-Prüfungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Einfache Diagnosen: Exceptions oder Guard-Prüfungen“?

Verwenden Sie Guard-Prüfungen für erwartete ungültige Eingaben, lösen Sie bei außergewöhnlichen Zuständen Exceptions aus und behandeln Sie Fehler mit try/catch auf angemessene Weise. Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C# Academy zu starten?

Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 3.

Wie lange dauert die Lektion „Einfache Diagnosen: Exceptions oder Guard-Prüfungen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?

Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. if/else, klassisches switch, Schleifen: for, while, do, foreach
  2. break/continue; goto (vermeiden); Gültigkeitsbereich; Exceptions oder Guard-Prüfungen
  3. Einfache Diagnosen: Exceptions oder Guard-Prüfungen
← Zurück zu C# Academy