Puan
16
Çözümler
0
C# Try Catch Kullanımı (Güncel Hata Yönetimi Rehberi)
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