Anahtar Farkı – Java'da Kontrol Edilen ve Kontrol Edilmeyen İstisna
İstisna, çalışma zamanı hatasıdır. İşaretli ve denetlenmeyen istisnalar olarak bilinen iki tür istisna vardır. Kontrol edilen bir istisna oluştuğunda, Java uygulaması dosya, aygıt veya veritabanı gibi bir dış kaynağa bağlanır. Bu istisnalar derleyici tarafından kontrol edilir. Kontrol edilen istisnalara bazı örnekler, IO istisnası ve FileNotFound istisnasıdır. Denetlenmeyen bir istisna oluştuğunda, uygulama herhangi bir dış kaynağa bağlanmaz. Bu istisnalar derleyici tarafından kontrol edilmez. Denetlenmeyen istisnalara bazı örnekler Aritmetik İstisna ve ArrayOutOfBound İstisnasıdır. Bu makalede, Java'da işaretli ve denetlenmemiş özel durum arasındaki fark anlatılmaktadır. Java'da işaretli ve denetlenmeyen istisna arasındaki temel fark, kontrol edilen bir istisna derleyici tarafından kontrol edilirken, kontrol edilmeyen bir istisna derleyici tarafından kontrol edilmez.
Java'da Kontrol Edilen İstisna Nedir?
İşaretli bir istisna oluştuğunda, Java uygulaması bir dış kaynağa bağlanır. Bu kaynak, yazıcı gibi bir aygıt olabilir. Bir dosya veya veritabanı olabilir. Bu nedenle, bu istisnalar derleyici tarafından kontrol edilir. IO istisnası, kontrol edilen bir istisnadır. Cihazdaki bir hata nedeniyle oluşur. Uygulama var olmayan bir dosyaya eriştiğinde, bir FileNotFound istisnasına neden olur. Bir uygulama, verileri depolamak için MySQL, Oracle vb. bir veritabanına bağlanabilir. Bir veritabanıyla ilgili bir hata meydana gelirse, bu bir SQL İstisnası olacaktır. Bunlar, kontrol edilen istisnaların bazı örnekleridir. Bütün bunlarda uygulama bir dış kaynağa bağlıdır. Kontrol edilen istisnalarda, istisnayı işlemek zorunludur. İşlenmezse, programın doğru akışı sonlandırılır ve sınıf dosyası oluşturulmaz. Hata, try, catch bloğu kullanılarak çözülebilir.
Şekil 01: Kontrol Edilen İstisna İşleme
Yukarıdakilere göre, FileReader dosyadan veri okur. text1.txt dosyası belirtilen konumda mevcut değil. İstisna verebilecek kod, try bloğunun içine yerleştirilir. Yazdırılacak mesaj, yakalama bloğunun içindedir. text1.txt adında bir dosya olmadığından, bu bir FileNotFoundException'a neden olur. İstisna işleme kullanılarak mesaj ekrana yazdırılır.
Java'da Denetlenmeyen İstisnalar Nedir?
Denetlenmeyen istisnalar derleyici tarafından kontrol edilmez. Kontrollü istisnaların aksine, kontrol edilmeyen istisnalar ile Java uygulaması dosya, veritabanı veya cihaz gibi bir dış kaynağa bağlı değildir. Bazı yaygın denetlenmeyen istisnalar Aritmetik, ArrayOutOfBound ve NullPointer İstisnalarıdır.
int a=10, b=0;
int div=a/b;
System.out.println(div);
Bu, sıfıra 'a' dalışı nedeniyle aritmetik bir istisnaya neden olur. Aşağıdaki koda bakın.
Şekil 02: Aritmetik İstisna İşleme
Yukarıdaki programa göre a değişkeni bir tamsayı değeridir. b değişkeni 0'dır. Bu iki sayının bölümü sıfıra bölme işlemidir. Bu nedenle, aritmetik bir istisnaya neden olacaktır. Try-catch bloğu kullanılarak işlenebilir. İstisnaya neden olabilecek ifadeler try bloğunun içine yerleştirilir. Görüntülenecek mesaj yakalama bloğundadır.
Kodun aşağıdaki parçasına bakın.
int dizi1={1, 2, 3, 4, 5};
System.out.println(dizi1[5]);
Bu bir istisnaya neden olur. Dizi1, 5 elemanlı bir dizidir. Dizinin başlangıç indeksi sıfırdır. 5th dizin değerinin yazdırılması, sınırın dışında olduğundan bir istisnaya neden olur. Dizi1'in maksimum dizini 4'tür.
Şekil 03: ArrayOutOfBound İstisna İşleme
Yukarıdaki programa göre dizi1'in 5 elemanı vardır. Öğeyi indeks 6 ile yazdırmak, sınır dışı olduğundan bir istisnaya neden olur. Dizi1'de depolanabilecek maksimum dizin 5'tir. Hata mesajı, yakalama bloğu yürütülerek yazdırılır.
Java'da İşaretli ve İşaretsiz İstisna Arasındaki Benzerlik Nedir
Java'da Kontrol Edilen ve Kontrol Edilmeyen İstisna, Java'daki istisna türleridir
Java'da İşaretli ve İşaretsiz İstisna Arasındaki Fark Nedir?
Java'da İşaretli ve İşaretsiz İstisna |
|
Kontrol edilen bir istisna, derleyici tarafından kontrol edilen bir çalışma zamanı hatasıdır. | Denetlenmeyen bir istisna, derleyici tarafından kontrol edilmeyen bir çalışma zamanı hatasıdır. |
Olay | |
İşaretli bir istisna oluştuğunda, Java uygulaması dosya, cihaz veya veritabanı gibi bir dış kaynağa bağlanır. | Denetlenmeyen bir istisna oluştuğunda, Java uygulaması bir dış kaynağa bağlı değildir. |
Örnekler | |
IOException, FileNotFoundException, SQLException, kontrol edilen istisnaların bazı örnekleridir. | Aritmetik istisna, ArrayOutOfBoundException, NullPointerException, denetlenmeyen istisnalara bazı örneklerdir. |
Özet – Java'da Kontrol Edilen ve Kontrol Edilmeyen İstisna
İstisna, program akışının yürütülmesini kesintiye uğratan bir olaydır. İki tür istisna vardır. Bunlara kontrol edilen istisnalar ve kontrol edilmeyen istisnalar denir. Bu makalede, denetlenen bir özel durum ile denetlenmeyen bir özel durum arasındaki fark tartışılmıştır. Java'da işaretli ve denetlenmemiş istisna arasındaki fark, kontrol edilen bir istisnanın derleyici tarafından kontrol edilirken, kontrol edilmeyen bir istisna derleyici tarafından kontrol edilmemesidir. İstisnalar, program yürütmenin doğru akışını etkilediğinden, bunları ele almak iyi bir programlama uygulamasıdır.