Java’da Exception Handling (Hata Yönetimi)

Java programlama dilinde, programların çalışması sırasında beklenmeyen hatalar (exception) oluşabilir. Bu hatalar, programın aniden durmasına neden olabilir. İşte tam bu noktada Exception Handling (Hata Yönetimi) devreye girer. Hataları kontrol altına almak ve programın sağlıklı çalışmasını sağlamak için kullanılır.

Bu yazıda Java’da exception handling nedir, nasıl kullanılır, temel yapıları ve en iyi uygulamaları örneklerle anlatacağız.


🔍 Exception (İstisna) Nedir?

Exception, programın beklenmedik durumlarla karşılaştığında oluşturduğu hata nesnesidir. Örneğin; sıfıra bölme, dosya bulunamaması, yanlış giriş gibi durumlar exception yaratır.

Java’da exception’lar iki ana kategoriye ayrılır:

  • Checked Exceptions: Derleme (compile) zamanında kontrol edilen hatalar. Örnek: IOException
  • Unchecked Exceptions (Runtime Exceptions): Çalışma zamanında ortaya çıkan hatalar. Örnek: NullPointerException, ArithmeticException

Exception Handling Yapısı

Java’da exception handling için kullanılan temel yapılar:

1. try-catch Blokları

try bloğu içinde hata oluşabilecek kodlar yazılır, catch bloğu ise bu hatayı yakalayıp işlem yapar.

try {
    int sonuc = 10 / 0;  // ArithmeticException
} catch (ArithmeticException e) {
    System.out.println("Sıfıra bölme hatası oluştu: " + e.getMessage());
}

2. finally Bloğu

try-catch bloklarından sonra çalışan, hata olsa da olmasa da kesinlikle çalışacak kod bloğudur. Genellikle dosya kapama, bağlantı sonlandırma gibi işlemler için kullanılır.

try {
    // hata çıkabilir
} catch (Exception e) {
    // hata yakalanır
} finally {
    System.out.println("Bu blok her zaman çalışır.");
}

3. throw Anahtarı

Kendi exception nesnenizi fırlatmak için kullanılır.

if (yas < 18) {
    throw new IllegalArgumentException("Yaş 18’den küçük olamaz!");
}

4. throws Anahtarı

Metodun exception fırlatabileceğini belirtir. Çağıran metot bu hatayı yakalamak zorundadır.

public void dosyaOku() throws IOException {
    // dosya okuma kodu
}


Exception Handling Örneği

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ExceptionOrnek {
    public static void main(String[] args) {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader("dosya.txt"));
            String satir = reader.readLine();
            System.out.println(satir);
        } catch (IOException e) {
            System.out.println("Dosya okunurken hata oluştu: " + e.getMessage());
        } finally {
            try {
                if (reader != null)
                    reader.close();
            } catch (IOException e) {
                System.out.println("Dosya kapatılırken hata oluştu.");
            }
        }
    }
}


⚠️ Hata Yönetimi Neden Önemlidir?

  • Programın çökmesini önler.
  • Kullanıcıya anlamlı hata mesajları gösterir.
  • Kaynakların (dosya, ağ bağlantısı vb.) doğru kapanmasını sağlar.
  • Daha güvenilir ve sürdürülebilir kod yazmayı sağlar.
guest
0 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments
0
YORUM YAPx