Kontrol Edilen İstisna ile Çalışma Zamanı İstisnası Arasındaki Fark

Kontrol Edilen İstisna ile Çalışma Zamanı İstisnası Arasındaki Fark
Kontrol Edilen İstisna ile Çalışma Zamanı İstisnası Arasındaki Fark

Video: Kontrol Edilen İstisna ile Çalışma Zamanı İstisnası Arasındaki Fark

Video: Kontrol Edilen İstisna ile Çalışma Zamanı İstisnası Arasındaki Fark
Video: Göreli Hız Nedir? Bağıl Hız, Hareket Algımızı Nasıl Etkiliyor? 2024, Temmuz
Anonim

İşaretli İstisna ve Çalışma Zamanı İstisnası

İstisnalar, normal program akışını bozabilecek özel olay türleridir. Ad istisnası “istisnai olay”dan gelir. Bir istisna atmak, bir istisna nesnesi yaratma ve onu çalışma zamanı sistemine teslim etme sürecidir. Çalışma zamanı sistemi istisna nesnesini aldığında, onu (yöntemlerin çağrıldığı) ters sırada çaprazlayarak çağrı yığını içinde ele alacak birini bulmaya çalışacaktır. İstisna işleyicisi olan bir yöntem bulursa çalışma zamanı sistemi başarılıdır. İstisna işleyici, söz konusu istisnayı resmi olarak işleyebilen bir kod bloğudur. Çalışma zamanı sistemi uygun bir işleyici bulursa, istisna nesnesini işleyiciye iletir. Buna istisnayı yakalamak denir. Ancak, istisna işlenemezse, program sonlandırılır. Java'da istisnalar Throwable sınıfından miras alır. Kontrol Edilen İstisnalar, işlemenin derleyici tarafından uygulandığı istisnalardır. Çalışma zamanı istisnaları, derleyici tarafından kontrol edilmeyen bir tür istisnadır.

Kontrol Edilen İstisna Nedir?

İşaretli İstisnalar, Java.lang.exception sınıfının nesneleri veya alt sınıflarıdır (Java.lang. RuntimeException ve alt sınıfları hariç). Kontrol edilen istisnalar derleme zamanında "kontrol edilir". Bu, programcının bu istisnaları yakalaması veya atması gerektiği anlamına gelir, aksi takdirde derleme şikayet eder (derleyici hatasına neden olur). Bu nedenle, kontrol edilen birçok istisna programcılar tarafından çok iyi bilinmektedir. Örneğin, IOException ve alt sınıfları kontrol edilen istisnalardır ve programcı bir dosyaya erişmek veya dosyayı değiştirmekle uğraştığında, derleyici tüm olası IOException'ların programcı tarafından halledildiğinden emin olmak için kontrol eder.

Çalışma Zamanı İstisnası nedir?

Runtime İstisnaları, Java.lang. RuntimeException ve tüm alt sınıflarından oluşur. Teorik olarak, kontrol edilen istisnalarla aynı amaca hizmet ederler ve kontrol edilen istisna gibi atılabilir veya işlenebilirler, ancak bunların işlenmesi derleyici tarafından uygulanmaz. Bu nedenle, Çalışma Zamanı istisnaları, denetlenmeyen istisnalar ailesine aittir. NullPointerException, NumberFormatEception, ClassCastException ve ArrayIndexOutOfBoundsException, Java'daki yaygın çalışma zamanı istisnalarıdır.

Kontrol Edilen İstisna ile Çalışma Zamanı İstisnası arasındaki fark nedir?

Hem kontrol edilen istisnalar hem de çalışma zamanı istisnaları, bir programın yürütülmesi sırasında istenmeyen oluşumlar olsa da, aralarında farklılıklar vardır. Kontrol edilen istisna işleme, derleyici tarafından zorlanır, ancak çalışma zamanı istisnaları değildir. Bu nedenle, kodun derlenmesi için kontrol edilen istisnaların atılması veya işlenmesi gerekir, ancak çalışma zamanı istisnaları ile ilgili böyle bir gereklilik yoktur. Sonuç olarak, çalışma zamanı istisnaları, hatalarla birlikte denetlenmeyen istisnalar kategorisine aittir.

Kontrol edilen istisnaların dezavantajı, programcının nasıl yapacağını bilmese bile bununla başa çıkmak zorunda olmasıdır. Bu nedenle, programcı orijinali sarmadan yeni bir istisna atarsa, orijinal istisnaya ait yığın izi kaybolacaktır. Çalışma zamanı istisnalarının işe yaradığı yer burasıdır. Tüm çalışma zamanı istisnaları tek bir yerde ele alınabildiğinden, programcılar daha az miktarda kod yazabilir. Öte yandan, kontrol edilen istisnaların yakalanması gerektiğinden, programcı için sürpriz olmaz. Hangi kontrol edilen istisnanın belirli bir yöntemle atılabileceğini her zaman bilecektir. Bunun aksine, programcının bilgisi olmadan çeşitli çalışma zamanı istisnaları atılabilir.

Önerilen: