Java’ da üç tür istisna(exception) mevcuttur. Hata(Error), Kontrolsüz istisnalar(Unchecked Exceptions) ve Kontrollü istisnalar(Checked Exceptions).
Hata (Error) : Ölümcül bir hatayı işaret eder ve telafisi çok zordur. Örneğin OutOfMemoryError(Yetersiz Bellek) hatası oluşmuş ise uygulamanın buna müdahele edip düzeltmesi olanaksınızdır.
Kontrolsüz İstisnalar(Unchecked Exceptions) : Bu istisna tiplerine Çalışma Anı İstisnaları da (Run-Time Exceptions) denilir. Çünkü çalışma anında meydana gelen istisnalardır. Eğer uygulama normal seyrinde giderse ortaya çıkmaması gerekir. Örneğin, ArrayIndexOutOfBoundsException istisna tipi, bir dizinin olmayan elemanına eriştiğimiz zaman ortaya çıkar. Yani kontrolsüz kodlamadan dolayı meydana gelen istisna tipleridir. Java bu tür istisnalar için önceden bir önlem alınmasını şart koşmaz; yine de önlem almakta özgürsünüzdür.
Kontrollü İstisnalar(Checked Exceptions) : Bu istisna tiplerine Derleme Anı İstisnaları da (Compile-Time Exceptions) denilir. Çünkü derleme anında ide’ler tarafından uyarılırız.Eğer derleyici derleme zamanında exceptionlar için try -catch bloğu göremezse hata verecektir ve kodumuz biz handle edene kadar derlenmeyecektir. Bu istisnalar çevresel koşullardan dolayı oluşabilirler. Örneğin erişilmek istenilen dosyanın yerinde olmaması (FileNotFoundException) veya ağ (Network) bağlantısının kopması sonucu ortaya çıkabilecek olan istisnalardır. Bu istisnalar için önceden önlem alınması gereklidir.
İstisna Tip Hiyerarşisi
VirtualMachineError : JVM’nin çalışmasını etkileyen durumları inceler.
AWTError : Grafik arayüze ait hataları inceler.
OutOfMemoryError : Bellek yetersizliği durumlarını inceler.
ClassNotFoundException : Olmayan bir dosyaya erişme istediği durumlarını inceler.
IOException : Giriş çıkış işlemlerindeki istenmeyen durumları inceler.
AritmeticException : Aritmetik hataları inceler.
NullPointerException : Herhangi bir nesneye null referanslı bir değişken ile ulaşılmaya çalışılan durumlarda fırlatılır.
IllegalArgumentException : Metotlara geçersiz argüman atamalarında fırlatılır.
Kaynak : https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html
2 yorum yapıldı “Java İstisnalar (Exceptions)”