Menu
Coddy logo textTech

Birden Çok Catch Bloğu

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

Birden çok catch bloğu, her istisna türü için özel kod kullanarak farklı istisna türlerini işlemenizi sağlar.

Temel bir try bloğuyla başlayın:

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

Belirli bir özel durum 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);
}

İlk eşleşen catch bloğu çalıştırılır. catch bloklarınızı en özel olandan en genel istisna türlerine doğru sıralayın.

challenge icon

Görev

Kolay

DivideNumbers adlı ve iki dize parametresi alan bir yöntem oluşturun:

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

Yöntem şunları yapmalıdır:

  1. Her iki dizeyi de tamsayılara ayrıştırmayı denemek
  2. Payı paydaya bölmeyi denemek
  3. Sonucu tamsayı olarak döndürmek
  4. FormatException durumunu, "Invalid format" yazdırıp 0 döndürerek ele almak
  5. DivideByZeroException durumunu, "Cannot divide by zero" yazdırıp 0 döndürerek ele almak
  6. Diğer tüm istisnaları, "An error occurred" yazdıran ve 0 döndüren genel bir catch bloğuyla ele almak

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

Kendi başına pratik yap: Online C# derleyicisi