Java OOP Rehberi: İstisna Yakalama (Exception Handling)

  • Merhaba, değerli Jetto Net takipçileri!

    Java Nesne Yönelimli Programlama (OOP) serimize hoş geldiniz. Önceki yazımızda, sınıfların içinde sınıf tanımlanmasını sağlayan inner classları inceledik. Bu yazı da ise Java'da programın beklenmedik bir durum ile karşılaştığında nasıl daha düzgün bir tepki vereceğini göreceğiz. "İstisna yakalama" (exception handling) kullanarak, programın çökmesini (aniden kapanmasını) engelleyebilir ve kullanıcıya daha iyi bir deneyim sunabiliriz.

    Exception (İstisna) Nedir?

    İstisnalar, programın normal giden akışını bozan aniden çıkan olaylardır. Örnek vermek gerekirse, bir dosya açmaya çalışıldığında o dosyanın belirlenen dizinde bulunamaması, bir sayıyı sıfıra bölmeye çalışmamız ya da bir dizinin (array) boyutu dışında olan bir elemana erişmeye çalışmak istisna durumlarıdır. İstisnalar, programın çökmesine sebep olmaktadır, bu sebeple bu tür durumları öngörüp uygun şekilde ele almak program işleyişi için çok önemlidir.

    Exception Handling (İstisna Yakalama) Nedir?

    Exception Handling, programın çalışma zamanında oluşabilecek olan istisnaları saptayıp uygun bir şekilde ele alma mekanizmasıdır. Java'da istisna yakalama, try-catch-finally blokları ile yapılabilmektedir.

    Code
    try { // Istisnaya sebebiyet verebilecek olan kod
    } catch(Exception1 e1) {
       //Eger Exception1 tipinde istisna firlatilirsa buraya
    } catch(Exception2 e2) {
       //Eger Exception2 tipinde istisna firlatilirsa buraya
    }finally {
        // İstisna oluşsa da oluşmasa da yapılacak işlemler
    }
    • try bloğu: İstisna oluşabilecek kodları içerir.
    • catch bloğu: İstisna oluştuğunda yapılacak işlemleri içerir. Birden fazla catch bloğu olabilir, her biri farklı bir istisna türünü yakalayabilir.
    • finally bloğu: İstisna oluşsa da oluşmasa da yapılacak işlemleri içerir. Genellikle kaynakları serbest bırakmak (örneğin, dosyaları kapatmak) için kullanılır.

    İstisna Türleri

    Java dilinde iki çeşit istisna türü bulunmaktadır:

    1. Checked Exceptions: Derleyici tarafından kontrol edilen istisnalardır. Bu tür istisnaları ya try-catch bloğu ile yakalamak ya da metodun imzasında throws anahtar kelimesi ile bildirmek zorundayız. Örneğin, IOException, SQLException gibi istisnalar kontrollü istisnalardır.
    2. Unchecked Exceptions: Derleyici tarafından kontrol edilmeyen istisnalardır. Bu tür istisnaları yakalamak zorunda değiliz, ancak yakalamak iyi bir uygulamadır. Örneğin, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException gibi istisnalar kontrolsüz istisnalardır.

    İstisna Fırlatma (Exception Throwing)

    İstisna fırlatma, programın bir hata durumunda istisna nesnesi oluşturarak bu nesneyi çağıran metoda göndermesidir. throw anahtar kelimesi ile bir istisna nesnesi fırlatabiliriz.

    Code
    if (sayi == 0) {
        throw new ArithmeticException("Sayı sıfıra bölünemez!");
    }

    Sonuç

    İstisna yakalama, Java'da daha güvenilir ve gelişmiş programlar geliştirmek için çok önemli bir mekanizmadır. İstisna yakalama mekanizmasını kullanarak, beklenmedik şekilde oluşan durumları öngörebilir, uygun bir biçimde ele alabilir ve son kullanıcıya daha iyi bir deneyim sunabiliriz.

    Bir sonraki yazımızda, OOP'nin diğer önemli kavramlarını incelemeye devam edeceğiz. Yorumlar kısmında sorularınızı veya görüşlerinizi yazzabilirsiniz.

    İyi Kodlamalar!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!