Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
369 gösterim
Kodumuzu yazarken ne zaman error, ne zaman exception raise etmeliyiz?
Java kategorisinde (186 puan) sordu

1 cevap

0 oy

Selamlar,

Bu iki yapının kullanılması gereken ile günümüzde insanların kullandığı arasında bir anlam sıkıntısı yaşanıyor.

Exception istisnai durum, bu durumda aslında beklenen uygulamanın devam edebileceği ama ara sıra yaşansa da sorun olmayacağı yönünde.

Error yani hata ise bu durum yaşandığı zaman uygulamanın/işlemin devam edemeyeceği  burada kalması gerekiyor dediğimiz durumlarda kullanılmalı.

Örneğin bir dosya bulunamadığı zaman uygulamanın/işlemin devam etmemesi gerektiğini düşünüyorsanız ve bu olasılık her zaman mümkünse error fırlatmak daha mantıklı olabilir.

Ama bu olasılık her zaman değil ara sıra olan bir durum ise ve uygulama/işlem dosya olmadan da devam edebilirse bu durumlarda exception fırlatmak daha mantıklı olacaktır.

Programlama dilinin bakışı olarak ikisi de aynı sınıftan türetilir (throwable) ve kavramsal olarak istisna olan durumlar ile bariz hata olan durumları belirlemek için kullanılır. Fakat başlarda da belirttiğim gibi ikisi de birbiri yerine kullanılabilir. 

Dikkat edilmesi gereken bir özel durum var. Java checked ve unchecked exception tiplerini destekler. Error unchecked exception tipine daha uygun olur ki bu da exception fırlatıldığı zaman throws kelimesi ile belirtmek gerekir. Error için gerekli değildir.

Konu ile alakalı tecrübesi dahilinde olan arkadaşlar varsa kullanım alanları tartışılabilir.

İyi çalışmalar.

(3.1k puan) cevapladı

İlgili sorular

0 oy
1 cevap 34 gösterim
0 oy
1 cevap 97 gösterim
97 gösterim 3 Nisan 2016 Java kategorisinde tolga (1.6k puan) sordu
0 oy
1 cevap 563 gösterim
563 gösterim 19 Aralık 2015 Java kategorisinde yildiz (186 puan) sordu
0 oy
1 cevap 63 gösterim
0 oy
1 cevap 41 gösterim
...