CodeBlanks Logo Icon CodeBlanks

Özet - İstisna temelleri

C# kursu · Başlangıç · Ders 111/116

try/catch/finally ve özel istisnayı birleştirerek bir banka hesap sınıfı yazarsın.

Özet - İstisna temelleri

Bu grupta istisna işlemenin temellerini öğrendin. try bloğu riskli kodu, catch hatayı yakalar, finally ise her durumda temizliği yapar. throw ile istisna fırlatır; throw; ile yeniden fırlatırsın.

Exception sınıfının Message, StackTrace ve InnerException özellikleri hata ayıklamada yardımcı olur. Kendi alanına özel hatalar için Exception'dan türetilmiş sınıflar yazabilirsin. Bir sonraki ödevde tüm bunları bir arada deneyeceksin.

Pratik öneriler

İstisna işlemede birkaç ipucu: en özel catch türünden başla, en genel Exception'ı sona bırak. Yeniden fırlatırken throw; kullan, throw ex; yerine. finally'yi kaynak temizliği için kullan.

Özel istisna sınıflarını yalnızca gerçekten alan özelinde ihtiyaç duyduğunda tanımla. Kullanıcıya ham yığın izini göstermek yerine, anlamlı bir mesaj sun. Bu öneriler, hem güvenli hem de okunaklı hata yönetimi kurmanı sağlar.

Uygulama try/catch/finally birleşimi

try bloğu içinde int c = a / b; ile bölme yap. catch (DivideByZeroException) bloğu içinde Console.WriteLine ile "Sıfıra bölme hatası" yazdır. finally bloğu içinde Console.WriteLine ile "Bitti" yazdır.

Örnek çözümü göster
try { int c = a / b; } catch (DivideByZeroException) { Console.WriteLine("Sıfıra bölme hatası"); } finally { Console.WriteLine("Bitti"); } yaz.
Örnek çözüm:
using System;

class Program
{
    static void Main()
    {
        int a = 10;
        int b = 0;
        try
        {
            int c = a / b;
        }
        catch (DivideByZeroException)
        {
            Console.WriteLine("Sıfıra bölme hatası");
        }
        finally
        {
            Console.WriteLine("Bitti");
        }
    }
}

Kendini test et

  1. Bloğu göreviyle eşleştir

    try
    Riskli kod
    catch
    Hatayı yakalar
    finally
    Temizlik
    throw
    İstisna fırlatır
  2. Hangisi istisna işleme için doğrudur?

    try { ... } catch (Exception ex) { ... }
    • Sadece try yeterli
    • catch olmadan try olmaz
    • finally olmadan catch olmaz
    • try ve catch birlikte kullanılır
    Cevabı göster

    try ve catch birlikte kullanılır — Doğru! try ve catch birlikte kullanılır; finally isteğe bağlıdır.

Başlangıç bölümündeki tüm dersler