Menu
Coddy logo textTech

Wiele bloków catch

Część sekcji Logika i sterowanie przepływem ścieżki C# w Coddy. Lekcja 25 z 66.

Wiele bloków catch pozwala obsługiwać różne typy wyjątków za pomocą osobnego kodu dla każdego typu wyjątku.

Zacznij od podstawowego bloku try:

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

Dodaj blok catch dla określonego wyjątku:

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

Możesz dodać wiele bloków catch, aby obsługiwać różne wyjątki:

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);
}

Wykona się pierwszy pasujący blok catch. Uporządkuj bloki catch od najbardziej szczegółowych do najbardziej ogólnych typów wyjątków.

challenge icon

Wyzwanie

Łatwy

Utwórz metodę o nazwie DivideNumbers, która przyjmuje dwa parametry typu string:

  • numeratorStr: ciąg znaków reprezentujący licznik
  • denominatorStr: ciąg znaków reprezentujący mianownik

Metoda powinna:

  1. Spróbować sparsować oba ciągi do liczb całkowitych
  2. Spróbować podzielić licznik przez mianownik
  3. Zwrócić wynik jako liczbę całkowitą
  4. Obsłużyć FormatException, wypisując "Invalid format" i zwracając 0
  5. Obsłużyć DivideByZeroException, wypisując "Cannot divide by zero" i zwracając 0
  6. Obsłużyć wszystkie inne wyjątki za pomocą ogólnego bloku catch, który wypisuje "An error occurred" i zwraca 0

Spróbuj swoich sił

using System;

public class Program
{
    public static int DivideNumbers(string numeratorStr, string denominatorStr)
    {
        // Wpisz tutaj swój kod
    }
    
    public static void Main(string[] args)
    {
        string numeratorStr = Console.ReadLine();
        string denominatorStr = Console.ReadLine();
        
        int result = DivideNumbers(numeratorStr, denominatorStr);
        Console.WriteLine("Result: " + result);
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i sterowanie przepływem

Poćwicz samodzielnie: Kompilator C# online