Logo tr.removalsclassifieds.com

İşaretli ve İşaretsiz İstisna Arasındaki Fark (Tablolu)

İçindekiler:

Anonim

İstisnaları kontrol etmek, programlama ve yazılım testinde en önemli şeylerden biridir. İşaretli ve İşaretsiz İstisna, programın bir hata veya hatayı yakalamaya çalışırken çalışmasını durdurur. Ayrıca, bu hataların asla olmamasını sağlamak programcının sorumluluğundadır. Hem Kontrol Edilen hem de Kontrol Edilmeyen İstisna, son derece benzerdir, ancak birbirlerinden farklıdırlar.

Kontrol Edilen ve Kontrol Edilmeyen İstisna

Kontrol Edilen ve Kontrol Edilmeyen İstisna arasındaki fark, Kontrol Edilen istisnaların, checks () ifadesi tarafından yakalanması ve işlenmesi gereken durumlar olması veya bir programın sonlandırılmasına ve bir yığın izlemesi yazdırmasına neden olmalarıdır, oysa, Kontrol edilmeyen istisnalar, diğer taraftan, bu hataların asla olmamasını sağlamak programcının sorumluluğunda olduğundan, yakalanması veya ele alınması gerekmez.

Kontrol edilen istisna, programın bir catch bloğu tarafından yakalanana veya bir yöntemin throws yan tümcesinde belirtilene kadar çalışmasını durduran özel bir istisna türüdür, ayrıca, Kontrol edilen istisna, checks () ifadesi tarafından yakalanır ve işlenir veya bunlar bir programın sonlandırılmasına ve bir yığın izi yazdırmasına neden olur.

İstisnaya neden olan kod düzgün bir şekilde test edilmemişse, bulunması ve düzeltilmesi zor olabilecek garip Kontrolsüz istisnai hatalara neden olabilir. Ayrıca, bu hataların asla olmamasını sağlamak programcının sorumluluğunda olduğundan, Denetlenmeyen istisnaların yakalanması veya ele alınması gerekmez.

Arasındaki Karşılaştırma Tablosu Kontrol Edilen ve Kontrol Edilmeyen İstisna

Karşılaştırma Parametreleri

Kontrol Edilen İstisna

İşaretlenmemiş İstisna

Tanım

Kontrol edilen istisnalar, kontroller () ifadeleri tarafından yakalanması ve işlenmesi gereken istisnalardır. Denetlenmeyen İstisnaların yakalanması veya ele alınması gerekmemelidir.
oluşum

Kontrol edilen istisnalar, derleme süresi boyunca bir yakalama bloğu tarafından ele alınmalıdır. Çalışma zamanı istisnaları olarak da bilinen yakalanmayan istisnalar, Denetlenmeyen İstisnalardır.
Hata yönetimi

Kontrol Edilen İstisna, programın bir hata veya hatayı yakalamaya çalışana kadar çalışmasını durdurur. Bu hataların asla olmamasını sağlamak programcının sorumluluğundadır.
İstisna Sınıfları

Olağanüstü sınıfları var. İstisnai sınıfları yoktur veya istisnai sınıfların önemli bir parçası değildir.
Örnek

OutOfMemoryError, NullPointerException ve StackOverflowError. IndexOutOfBoundsException

Kontrol Edilen İstisna nedir?

Kontrol Edilen İstisnalar, yazılım testi ile yakından ilgilidir, ayrıca kontrol edilen bir istisna, ele alınması gereken bir istisnadır, aksi takdirde program sonlandırılır. Bu, istisnayı hiçbir catch bloğu işlemezse, bir throw ifadesini izleyen kodun yürütülmeyeceği anlamına gelir. Kontrol edilen istisnalar, bir hata oluştuğunda programın devam etmesini durdurmak ve bu hatayı nerede bulacağına dair hata ayıklama bilgisi sağlamak olmak üzere iki amaca hizmet eder.

Derleyici, programcıyı istisnayı işlemeye zorlamaz, ancak başka bir sınıfı genişleten herhangi bir sınıf, kontrol edilen istisnaların tümünü genişletmeli veya uygulamalıdır. Olmazsa, genişleyen sınıfın bir derlemesi, üst sınıf tarafından denetlenen tüm istisnaları işlemesi gerektiğini belirten bir derleme zamanı hatasıyla başarısız olur. Bu, yerleşik hata modlarını atlatmak için kalıtımın kullanılmasını önler.

Bir istisna atıldığında, Eclipse'deki hata ayıklayıcıya veya işletim sistemine iletilir ve ardından programı normal şekilde sonlandırır. İşletim sistemi bir yığın izi yazdırır. Yığın izleme, çağrıldıkları sırayla her yöntem çağrısı için bilgi sağlar. Bu, programcının kodun neresinde veya kodunun yürütme akışının neresinde bir istisna oluştuğunu bulmasını sağlar.

Denetlenmeyen İstisna nedir?

Programcıların daha esnek ve verimli programlama yapmasına izin vermek için denetlenmeyen istisnalar mevcuttur. Java, programcıların kaynakları verimli kullanan ve kilitlenme görünümünden kaçınan uygulamalar oluşturmasını sağlamak için tasarlanmıştır. Dikkatli tasarım ve kodlama uygulamalarıyla denetlenmeyen istisnalar ortadan kaldırılabilir. Ancak, Java kodunda meydana gelen NullPointerException dışındaki tüm diğer istisnalar işaretlenmemiş olarak kabul edilir.

Kontrol edilmeyen istisnaların yakalanması veya ele alınması gerekmemelidir. Ayrıca, daha yüksek seviyeli kodun daha düşük seviyeli koda iş parçacığı için güvenli olmayan bir şey yapacağını söylemesinin bir yoludur, ancak herhangi bir zamanda yalnızca bir iş parçacığı çalışıyorsa bu sorunlara neden olmaz. bazı verileri güncellemek veya ekranda bazı grafikleri oluşturmak gibi.

Denetlenmeyen istisnaları kullanmak riskli bir tekliftir. Bir sınıf denetlenmemiş bir istisna atacaksa, o sınıfı kimin kullandığının farkında olması ve bununla başa çıkmak için bazı katı yöntemlere sahip olması gerekir. Örneğin, bir programcı bir dosyadan bazı verileri okumak ve sonra tekrar yazmak isteyebilir ve bu tür bir işlevsellik herhangi bir senkronizasyona ihtiyaç duymaz. Bir uygulamanın, sistem performansı veya kararlılığı üzerinde herhangi bir olumsuz etki yaratmadan aynı verileri iki farklı iş parçacığında iki kez okuması tamamen kabul edilebilir.

Kontrol Edilen ve Kontrol Edilmeyen İstisna Arasındaki Temel Farklar

Çözüm

Kontrollü bir istisna, işlenmesi gereken bir istisnadır, aksi takdirde program sonlandırılır. Ancak, Denetlenmeyen istisnalar, tüm iş parçacıkları için durdurma işlevlerini yürüten istisnalardır. Kontrol Edilen ve Kontrol Edilmeyen İstisna, koddaki bir hatanın işaretidir. Bu, kod beklenmedik bir şey yapmaya çalıştığında olur. İstisnaya neden olan kod düzgün bir şekilde test edilmemişse, bulunması ve düzeltilmesi zor olabilecek garip hatalara neden olabilir. Bazı durumlarda, programcının tüm programı sıfırdan yeniden yazması bile gerekebilir. Ayrıca, Kontrol Edilen ve Kontrol Edilmeyen İstisnalar, yazılım testi ile yakından ilgilidir.

Referanslar

İşaretli ve İşaretsiz İstisna Arasındaki Fark (Tablolu)