Menu
Coddy logo textTech

Multiple Catch Blocks

Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy — Lektion 25 von 66.

Mehrere catch-Blöcke ermöglichen es Ihnen, unterschiedliche Arten von Ausnahmen mit spezifischem Code für jeden Ausnahmetyp zu behandeln.

Beginnen Sie mit einem einfachen try-Block:

try
{
    int number = int.Parse("abc");
}

Fügen Sie einen catch-Block für eine spezifische Ausnahme hinzu:

try
{
    int number = int.Parse("abc");
}
catch (FormatException ex)
{
    Console.WriteLine("Format Exception: " + ex.Message);
}

Sie können mehrere catch-Blöcke hinzufügen, um verschiedene Ausnahmen zu behandeln:

try
{
    int number = int.Parse("abc");
    int result = a10 / number;
}
catch (FormatException ex)
{
    Console.WriteLine("Format Exception: " + ex.Message);
}
catch (DivideByZeroException ex)
{
    Console.WriteLine("Divide By Zero Exception: " + ex.Message);
}

Der erste passende catch-Block wird ausgeführt. Ordnen Sie Ihre catch-Blocks von den spezifischsten zu den allgemeinsten Ausnahmetypen.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens DivideNumbers, die zwei String-Parameter annimmt:

  • numeratorStr: ein String, der den Zähler darstellt
  • denominatorStr: ein String, der den Nenner darstellt

Die Methode sollte:

  1. Versuchen, beide Strings zu Ganzzahlen zu parsen
  2. Versuchen, den Zähler durch den Nenner zu teilen
  3. Das Ergebnis als Ganzzahl zurückgeben
  4. FormatException behandeln, indem "Invalid format" ausgegeben und 0 zurückgegeben wird
  5. DivideByZeroException behandeln, indem "Cannot divide by zero" ausgegeben und 0 zurückgegeben wird
  6. Alle anderen Ausnahmen mit einem allgemeinen catch-Block behandeln, der "An error occurred" ausgibt und 0 zurückgibt

Spickzettel

Mehrere catch-Blöcke ermöglichen es Ihnen, unterschiedliche Arten von Ausnahmen mit spezifischem Code für jeden Ausnahmetyp zu behandeln.

Grundlegender try-catch mit spezifischer Ausnahme:

try
{
    int number = int.Parse("abc");
}
catch (FormatException ex)
{
    Console.WriteLine("Format Exception: " + ex.Message);
}

Mehrere catch-Blöcke für unterschiedliche Ausnahmen:

try
{
    int number = int.Parse("abc");
    int result = 10 / number;
}
catch (FormatException ex)
{
    Console.WriteLine("Format Exception: " + ex.Message);
}
catch (DivideByZeroException ex)
{
    Console.WriteLine("Divide By Zero Exception: " + ex.Message);
}

Der erste passende catch-Block wird ausgeführt. Ordnen Sie catch-Blöcke von den spezifischsten zu den allgemeinsten Ausnahmetypen an.

Probier es selbst

using System;

public class Program
{
    public static int DivideNumbers(string numeratorStr, string denominatorStr)
    {
        // Schreibe deinen Code hier
    }
    
    public static void Main(string[] args)
    {
        string numeratorStr = Console.ReadLine();
        string denominatorStr = Console.ReadLine();
        
        int result = DivideNumbers(numeratorStr, denominatorStr);
        Console.WriteLine("Result: " + result);
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf