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.