Bu eğitimde Java'daki istisnalar hakkında bilgi edineceğiz. Java'daki hataları, istisnaları ve farklı istisna türlerini ele alacağız.
İstisna, programın yürütülmesi sırasında meydana gelen beklenmedik bir olaydır. Programın anormal şekilde sonlanmasına neden olabilecek program talimatlarının akışını etkiler.
Birçok nedenden dolayı bir istisna meydana gelebilir. Onlardan bazıları:
- Geçersiz kullanıcı girişi
- Cihaz hatası
- Ağ bağlantısı kaybı
- Fiziksel sınırlamalar (disk belleği yetersiz)
- Kod hataları
- Kullanılamayan bir dosyayı açma
Java İstisna hiyerarşisi
İşte Java'daki istisna hiyerarşisinin basitleştirilmiş bir diyagramı.
Yukarıdaki görüntüden de görebileceğiniz gibi, Throwable
sınıf, hiyerarşideki kök sınıftır.
Hiyerarşinin iki dala ayrıldığına dikkat edin: Hata ve İstisna.
Hatalar
Hatalar , belleğin tükenmesi, bellek sızıntıları, yığın taşma hataları, kitaplık uyumsuzluğu, sonsuz özyineleme vb. Gibi giderilemeyen durumları temsil eder.
Hatalar genellikle programcının kontrolü dışındadır ve hataları işlemeye çalışmamalıyız.
İstisnalar
İstisnalar program tarafından yakalanabilir ve ele alınabilir.
Bir yöntem içinde bir istisna meydana geldiğinde, bir nesne oluşturur. Bu nesneye istisna nesnesi denir.
İstisnanın adı ve açıklaması ve istisna meydana geldiğinde programın durumu gibi istisna hakkında bilgiler içerir.
Bu istisnaların nasıl ele alınacağını bir sonraki derste öğreneceğiz. Bu eğitimde, şimdi Java'daki farklı istisna türlerine odaklanacağız.
Java İstisna Türleri
İstisna hiyerarşisinin de iki dalı vardır: RuntimeException
ve IOException
.
1. RuntimeException
Bir programlama hatası nedeniyle bir çalışma zamanı istisnası meydana gelir. Denetlenmemiş istisnalar olarak da bilinir .
Bu istisnalar derleme zamanında değil çalışma zamanında kontrol edilir. Yaygın çalışma zamanı istisnalarından bazıları şunlardır:
- Bir API'nin uygunsuz kullanımı -
IllegalArgumentException
- Boş işaretçi erişimi (bir değişkenin başlatılması eksik) -
NullPointerException
- Sınır dışı dizi erişimi -
ArrayIndexOutOfBoundsException
- Bir sayıyı 0'a bölmek -
ArithmeticException
Bu şekilde düşünebilirsiniz. "Bir çalışma zamanı istisnası ise, bu sizin hatanızdır".
NullPointerException
Kullanmadan önce değişken başlatıldı işaretli olup olmadığını olsaydı meydana olmazdı.
Bir ArrayIndexOutOfBoundsException
sen dizi sınırları karşı dizi dizinini test edilirse meydana olmazdı.
2. IOException
An IOException
aynı zamanda işaretli istisna olarak da bilinir . Derleyici tarafından derleme zamanında kontrol edilirler ve programcıdan bu istisnaları işlemesi istenir.
Kontrol edilen istisna örneklerinden bazıları şunlardır:
- Var olmayan bir dosyayı açmaya çalışmak,
FileNotFoundException
- Bir dosyanın sonunu okumaya çalışıyorum
Artık istisnaları biliyoruz, bir sonraki eğitimde istisnaların nasıl ele alınacağını öğreneceğiz.