Exception in Java

Java’daki istisnalar(exceptions), bir programın yürütülmesi sırasında meydana gelen hataları veya istisnai olayları işlemek için kullanılan bir mekanizmadır. Bir hata oluştuğunda programın çökmesi yerine çalışmaya devam etmesine izin verirler.

 

İstisna, bir programın yürütülmesi sırasında meydana gelen anormal bir durumu temsil eden bir nesnedir. Bir istisna meydana geldiğinde, uygun bir istisna işleyici tarafından yakalanıp işlenene kadar çağrı yığını boyunca fırlatılır ve yayılır.

 

Java’da iki tür istisna vardır: işaretli ve işaretsiz. Kontrol edilen istisnalar, “throws” anahtar kelimesi kullanılarak yöntem imzasında açıkça bildirilen istisnalardır. Bunlar, gerçekleşmesi beklenen ve programcı tarafından ele alınması gereken istisnalardır. Kontrol edilen özel durum örnekleri arasında IOException ve SQLException bulunur. Öte yandan, denetlenmeyen istisnalar, yöntem imzasında açıkça bildirilmeyen ve programcı tarafından ele alınması gerekmeyen istisnalardır. Denetlenmeyen özel durumlara örnek olarak NullPointerException ve ArrayIndexOutOfBoundsException verilebilir.

 

Bir istisnayı işlemek için bir try-catch bloğu kullanabilirsiniz. Try bloğu, bir istisna oluşturabilecek kodu içerir ve catch bloğu, istisnayı işleyecek kodu içerir. catch bloğu, yalnızca try bloğunda bir istisna atılırsa yürütülür. Bir istisna atılsa da atılmasa da yürütülecek kodu içeren bir nihayet bloğu da kullanabilirsiniz.

 

Kendi istisnanızı oluşturmak için, İstisna veya RuntimeException sınıfını genişleten bir sınıf oluşturabilirsiniz. Bu, uygulamanıza özel ve daha anlamlı bir şekilde ele alınabilecek özel istisna türleri oluşturmanıza olanak tanır.

 

Java ayrıca, belirli istisna türlerini temsil etmek için kullanılan birkaç yerleşik istisna sınıfı da sağlar. Bazı örnekler şunları içerir:

 

IllegalArgumentException: Bir yöntemin geçersiz veya uygunsuz bir argüman iletildiğini belirtmek için atılır.

IllegalStateException: Bir yöntemin yasa dışı veya uygunsuz bir zamanda çağrıldığını belirtir.

NullPointerException: Bir uygulama, bir nesnenin gerekli olduğu bir durumda null kullanmaya çalıştığında fırlatılır.

NumberFormatException: Uygulamanın bir dizeyi sayısal bir türe dönüştürmeye çalıştığını, ancak dizenin uygun biçime sahip olmadığını belirtmek için atılır.

Bir istisna atıldığında, programın normal akışının kesildiğini ve programın istisna işleyiciye atladığını unutmamak önemlidir. Bu, programın durumunun bir kısmını kaybetmesine ve potansiyel olarak kaynakları tanımsız bir durumda bırakmasına neden olabilir. Bundan kaçınmak için, try bloğunda edindiğiniz tüm kaynakları (dosya tanıtıcıları veya veritabanı bağlantıları gibi) istisna atılmadan önce her zaman serbest bırakmanız önerilir.

 

Sonuç olarak, Java’daki istisnalar, bir programın yürütülmesi sırasında meydana gelen hataları ve istisnai durumları işlemek için güçlü bir mekanizmadır. Bir hata oluştuğunda programın çökmesi yerine çalışmaya devam etmesine izin verirler. Try-catch bloklarını kullanarak ve özel istisnalar oluşturarak daha sağlam ve sürdürülebilir kodlar yazabilirsiniz. Kaynakları tanımsız bir durumda bırakmaktan kaçınmak için edindiğiniz kaynaklara her zaman dikkat edin ve bunları bir istisna atılmadan önce serbest bırakın.

 

İbrahim Ebrar AKÇAKOYUN