C# Try Catch Kullanımı (Güncel Hata Yönetimi Rehberi)

Konu Görüntülenme İstatistikleri

Son görüntüleyenler:
Toplam: 95 • Kişi: 1

KroNoS

Üye
Üye
Puan 16
Çözümler 0

C# Try Catch Kullanımı (Güncel Hata Yönetimi Rehberi)​

mhf80xs.jpg

C# programlama dilinde bazen beklenmeyen hatalar meydana gelebilir.
Örneğin:
- kullanıcı yanlış veri girerse
- dosya bulunamazsa
- sıfıra bölme yapılırsa

program tamamen çökebilir.

Bu gibi durumları kontrol altına almak için try catch kullanılır.

Bu rehberde:
- try catch nedir
- nasıl kullanılır
- finally bloğu
- birden fazla catch
- gerçek proje örnekleri

gibi konuları öğreneceğiz.

Try Catch Nedir?​


Try catch, oluşabilecek hataları yakalamak için kullanılan hata yönetim sistemidir.

Genel kullanım:

C#:
try
{
    // Hata oluşabilecek kodlar
}
catch
{
    // Hata oluşursa çalışacak kodlar
}

Basit Try Catch Örneği​


Aşağıdaki örnekte kullanıcıdan sayı alınır.

C#:
using System;

class Program
{
    static void Main()
    {
        try
        {
            Console.Write("Bir sayı girin: ");

            int sayi = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Girilen sayı: " + sayi);
        }
        catch
        {
            Console.WriteLine("Hatalı giriş yaptınız.");
        }
    }
}

Eğer kullanıcı harf girerse program çökmez.

Sıfıra Bölme Hatası​


C#:
using System;

class Program
{
    static void Main()
    {
        try
        {
            int a = 10;
            int b = 0;

            int sonuc = a / b;

            Console.WriteLine(sonuc);
        }
        catch
        {
            Console.WriteLine("Bir sayı sıfıra bölünemez.");
        }
    }
}

Hata Mesajını Gösterme​


Hatanın detayını görmek için Exception kullanılır.

C#:
using System;

class Program
{
    static void Main()
    {
        try
        {
            int sayi = Convert.ToInt32("abc");
        }
        catch (Exception hata)
        {
            Console.WriteLine(hata.Message);
        }
    }
}

Çıktı örneği:

Kod:
Input string was not in a correct format.

Finally Kullanımı​


Finally bloğu hata olsa da olmasa da çalışır.

C#:
using System;

class Program
{
    static void Main()
    {
        try
        {
            Console.WriteLine("Try çalıştı");
        }
        catch
        {
            Console.WriteLine("Hata oluştu");
        }
        finally
        {
            Console.WriteLine("Finally her zaman çalışır");
        }
    }
}

Birden Fazla Catch Kullanımı​


Farklı hata türlerini ayrı ayrı yakalayabilirsiniz.

C#:
using System;

class Program
{
    static void Main()
    {
        try
        {
            int[] sayilar = { 1, 2, 3 };

            Console.WriteLine(sayilar[5]);
        }
        catch (IndexOutOfRangeException)
        {
            Console.WriteLine("Dizi sınırı aşıldı.");
        }
        catch (Exception)
        {
            Console.WriteLine("Genel bir hata oluştu.");
        }
    }
}

En Sık Kullanılan Exception Türleri​


  • Exception
  • FormatException
  • DivideByZeroException
  • NullReferenceException
  • IndexOutOfRangeException
  • FileNotFoundException

Unity'de Try Catch Kullanımı​


Unity projelerinde özellikle:
- dosya işlemleri
- internet bağlantıları
- JSON verileri

için sık kullanılır.

Örnek:

C#:
try
{
    SaveSystem.LoadGame();
}
catch
{
    Debug.Log("Kayıt dosyası bulunamadı.");
}

Try Catch Kullanırken Yapılan Hatalar​


1. Boş Catch Kullanmak​


Yanlış kullanım:

C#:
catch
{
}

Bu yöntem hatayı gizler.

2. Gereksiz Try Catch Kullanımı​


Her kodu try catch içine almak performansı düşürebilir.

Try Catch Ne Zaman Kullanılmalı?​


Şu durumlarda önerilir:

  • Kullanıcıdan veri alma
  • Dosya işlemleri
  • API bağlantıları
  • Veritabanı işlemleri
  • Unity save system
  • İnternet işlemleri

Sonuç​


C# try catch yapısı, programın çökmesini önleyen en önemli sistemlerden biridir.

Özellikle gerçek projelerde:
- kullanıcı hataları
- veri problemleri
- beklenmeyen durumlar

çok sık yaşandığı için hata yönetimi büyük önem taşır.

Bu yüzden profesyonel uygulamalarda try catch kullanımı neredeyse zorunludur.

Benzer İçerikler​


  • C# If Else Kullanımı
  • C# String to Int Dönüştürme
  • C# While Döngüsü
  • C# List Kullanımı
  • C# Dosya Okuma Yazma
 
Geri
Üst