Menu
Coddy logo textTech

Multiple Catch Blocks

Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 25 / 66.

Birden fazla catch bloğu, her istisna türü için özel kodla farklı istisna türlerini işlemenize olanak tanır.

Temel bir try bloğu ile başlayın:

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

Belirli bir istisna için bir catch bloğu ekleyin:

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

Farklı istisnaları işlemek için birden fazla catch bloğu ekleyebilirsiniz:

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

Eşleşen ilk catch bloğu çalışacaktır. Catch bloklarınızı en özelden en genele doğru istisna türlerine göre sıralayın.

challenge icon

Görev

Kolay

İki dize parametresi alan DivideNumbers adında bir metot oluşturun:

  • numeratorStr: payı temsil eden bir dize
  • denominatorStr: paydayı temsil eden bir dize

Metot şunları yapmalıdır:

  1. Her iki dizeyi de tam sayılara ayrıştırmayı deneyin
  2. Payı paydaya bölmeyi deneyin
  3. Sonucu bir tam sayı olarak döndürün
  4. FormatException hatasını "Invalid format" yazdırarak ve 0 döndürerek ele alın
  5. DivideByZeroException hatasını "Cannot divide by zero" yazdırarak ve 0 döndürerek ele alın
  6. Diğer tüm istisnaları, "An error occurred" yazdıran genel bir catch bloğu ile ele alın ve 0 döndürün

Kendin dene

using System;

public class Program
{
    public static int DivideNumbers(string numeratorStr, string denominatorStr)
    {
        // Kodunuzu buraya yazın
    }
    
    public static void Main(string[] args)
    {
        string numeratorStr = Console.ReadLine();
        string denominatorStr = Console.ReadLine();
        
        int result = DivideNumbers(numeratorStr, denominatorStr);
        Console.WriteLine("Result: " + result);
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler