İşaretli ve İşaretsiz İstisna Arasındaki Fark

Java'da özel durum işleme, çalışma zamanında bir kod sırasında ortaya çıkan belirli hataları işlemek için güçlü mekanizmalardan biridir. İstisna, uygulamanın normal akışını bozan bir çalışma zamanı hatasından başka bir şey değildir.

Normalde bir kod parçasında oluşur ve bu durumda, istisnayı temsil eden bir nesne oluşturulur ve atılmış neden olan yöntemde. Sonuç olarak, program veya uygulama bozularak uygulama anormal olarak sonlandırılır ve bu önerilmez. Bu nedenle bu istisnaların ele alınması gerekir ve istisna işleme mekanizması bu noktada ortaya çıkar.

Java - Checked ve Unchecked Exception'da iki tür istisna vardır. Bu makalede, neyin kontrol edildiğini ve işaretlenmediğini ve ne zaman kullanılacağını ayrıntılı olarak tartışacağız ve son olarak, ikisi arasındaki farkı göreceğiz.

Java'da Denetlenen İstisna Nedir??

Bunlar derleme zamanında denetlenen ve işlenen istisnalardır. Java, standart paket içinde birkaç istisna sınıfı tanımlar java.lang, ve en yaygın istisnalar standart tip alt sınıflardır Çalışma zamanı istisnası.

Programın hemen denetimi dışındaki alanlarda oluşan istisnalar, denetlenen istisnalar olarak bilinir. Bir yöntem atar derleme zamanında kendisi tarafından işlenemeyen denetlenen bir özel durum; tutmak kullanarak istisnayı engelle veya bildir atar anahtar kelime, aksi takdirde bir derleme hatası verecektir. Derleyici, her biri için özel durum nesnesinin türünü inceler atmak ifadesi ve işaretli olarak görünüyorsa, derleyici, kural dışı durumun atıldığı veya daha fazla işlenebilmesi için bildirildiği yöntemde işlendiğinden emin olmak için kaynak kodunu denetler..

Tarafından açıklanan tüm istisnalar İstisna bunlar hariç doğrudan alt sınıfları Çalışma zamanı istisnası işaretli istisnalar olarak adlandırılır. Şimdi ne zaman işaretli istisna kullanılır? Ne zaman ne yapacağınızı tam olarak bildiğinizde, işaretli bir istisnayı kullanmayı seçebilirsiniz. İstisna veya başarısızlık şansı daha fazla olduğunda ortaya çıkar. Java kitaplığındaki işaretli özel durumlara örnek olarak IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException, InvocationTargetException, vb..

Java'da Denetlenmeyen Özel Durum Nedir?

Bunlar derleme zamanında kontrol edilmeyen istisnalardır. İşaretlenmemiş İstisna, genellikle programın mantığındaki hataları yansıtan ve çalışma zamanında kurtarılamayan bir koşulu temsil eder.

Basit bir ifadeyle, işaretlenmeyen istisna, try-catch blok. Açıkça yakalanmalarına gerek yok. Aslında, denetlenmeyen bir kural dışı durum oluştuğunda, Java kural dışı durumu otomatik olarak işler. Denetlenmeyen özel durumlar çoğunlukla, bir dizi bağının dışındaki öğeye erişildiğinde veya boş bir nesnenin yöntemine erişilirken olduğu gibi programlama hataları nedeniyle oluşur. Java'da, atılabilir durumdaki tüm istisnalar işaretli istisnalar iken, doğrudan alt sınıfları olan istisnalar Hata ve Çalışma zamanı istisnası işaretlenmeyen istisnalar.

Denetlenmeyen bir kural dışı durumun en iyi yanı, istemci kodunu temiz tutarken kodun okunabilirliğini azaltmamasıdır. Denetlenmeyen istisnalara örnek olarak ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, vb..

İşaretli ve İşaretsiz İstisnalar Arasındaki Fark

İşaretli ve İşaretsiz İstisna Tanımı

İşaretli ve İşaretsiz İstisna, uygulamanın normal akışını sağlamak için Java'da bulunan iki istisna türüdür. Her ikisi de Java'daki istisnaları işlemekle aynı amaca hizmet eder ve işlevsellikte bir fark olmamasına rağmen, ne zaman işaretleneceğini ve ne zaman denetlenmeyen istisnayı kullanacağını belirleyen tek bir kural yoktur. İşaretli İstisna, derleme zamanında denetlenen bir istisnadır; Denetlenmeyen İstisna, derleme zamanında denetlenmeyen istisnadır..

Kontrol Edilmiş ve Kontrol Edilmemiş İstisna Temelleri

İşaretli bir istisna, programın hemen denetimi dışında gerçekleşen geçersiz senaryoları belirtirken, denetlenmeyen özel durum programdaki hataları veya programın mantığındaki çalışma zamanında kurtarılamayan hataları belirtir..

İstisna işleme

Bir yöntem işaretli bir istisna atarsa, derleyici, yöntemin try-catch bloğu kullanarak bu istisnayı işleyip işlemediğini kontrol eder veya throws anahtar sözcüğünü kullanarak istisnayı belirtir. Yöntem işleme kodunu sağlamazsa, bir derleme hatası gösterir. Aksine, program derleyici derlenir, çünkü derleyici derleme zamanında Denetlenmeyen Özel Durumları denetlemez.

İşaretli ve İşaretsiz İstisna Nedeni

RunTimeException öğesinden türetilmeyen özel durumlar genellikle işlenirken, çalışma zamanında özel durumlar oluştuğu için nadiren işlenir. Kontrol Edilmiş İstisna, arıza olasılığı çok yüksek olduğunda ortaya çıkar. Denetlenmeyen İstisna, diğer taraftan, çoğunlukla programlama hataları nedeniyle oluşur. RuntimeException ve Error sınıfları altındaki tüm özel durumlar denetlenmeyen özel durumlar iken, atılabilir altındaki diğer her şey işaretli özel durumlardır.

İşaretli ve İşaretsiz İstisna Örnekleri

İşaretli istisnalara bazı örnekler IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException ve daha fazlasıdır. Denetlenmeyen özel durumlara örnek olarak NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, vb..

İşaretli ve Denetlenmeyen İstisna: Karşılaştırma Tablosu

İşaretli ve İşaretsiz İstisna Özeti

İşaretli ve İşaretsiz İstisna, Java'da bulunan iki istisna türüdür. Her iki istisna için işlevsellik aynı olsa da, farklılıklardan adil pay alırlar. İşaretli ve denetlenmeyen istisnalar arasındaki temel fark, birincisinin derleyici tarafından kontrol edilirken, ikincisinin derleyici bildiriminden kaçmasıdır. Derleme zamanında denetlenen ve işlenen özel durumlar, denetlenen özel durumlar, oysa derleme zamanında denetlenmeyen ve işlenmeyen özel durumlar işaretlenmeyen özel durumlardır. Bu makalede, neyin denetlendiğini ve denetlenmeyen istisnayı, bunların ne zaman kullanılacağını ve ikisi arasındaki farkı açıklar..