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, verschiedene Arten von Exceptions 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 bestimmte 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 = 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 Ihre catch-Blöcke von den spezifischsten zu den allgemeinsten Ausnahmetypen an.

challenge icon

Aufgabe

Einfach

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

  • numeratorStr: eine Zeichenfolge, die den Zähler darstellt
  • denominatorStr: eine Zeichenfolge, die den Nenner darstellt

Die Methode sollte:

  1. Versuchen, beide Zeichenfolgen in Ganzzahlen umzuwandeln
  2. Versuchen, den Zähler durch den Nenner zu teilen
  3. Das Ergebnis als Ganzzahl zurückgeben
  4. Die FormatException behandeln, indem "Invalid format" ausgegeben und 0 zurückgegeben wird
  5. Die 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

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