İstisna ile Hata Arasındaki Fark

İstisna ile Hata Arasındaki Fark
İstisna ile Hata Arasındaki Fark

Video: İstisna ile Hata Arasındaki Fark

Video: İstisna ile Hata Arasındaki Fark
Video: NAT Nasıl Çalışır? (İnternet Nasıl Çalışır Eğitim Serisi 2 ek video) 2024, Temmuz
Anonim

İstisnaya Karşı Hata

Bir program çalışırken beklenmeyen davranışların oluşması kaçınılmazdır. Bunun nedeni istisnalar veya hatalar olabilir. İstisnalar, normal program akışını bozabilecek olaylardır. Hatalar, telafisi mümkün olmayan durumlardır. İstisnalar çoğunlukla uygulamanın kendisiyle, hatalar ise programın çalıştığı sistemle ilgilidir.

İstisna nedir?

İstisna, normal program akışını bozabilecek bir olaydır. Ad istisnası “istisnai olay”dan gelir. Bir istisna atmak, bir istisna nesnesi yaratma ve onu çalışma zamanı sistemine teslim etme sürecidir. İstisna nesnesi, istisnanın meydana geldiği yöntemle oluşturulur. İstisna nesnesi, istisnanın türü ve açıklaması gibi faydalı bilgiler içerir. Ç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. Çağrı yığını, istisnanın meydana geldiği yöntemden önce çağrılan sıralı yöntemler listesidir. İ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 (yani, istisna türü, işlenebilecek türle eşleşir), 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' devralır. NullPointerException ve ArrayIndexOutOfBoundsException Java'daki iki yaygın istisnadır.

Hata Nedir?

Hata, programın mevcut olandan daha büyük bir bellek miktarı gerektirmesi gibi geri dönüşü olmayan bir durumdur. Bu hatalar çalışma zamanında ele alınamaz. Bir hata oluşursa, program sonlandırılır. Java'da hatalar Throwable sınıfından miras alınır. Hatalar genellikle programcının (veya uygulamanın) yakalamaya çalışmaması gereken ciddi sorunları ifade eder. Hatalar, normal şartlar altında asla meydana gelmesi beklenmeyen ve bu nedenle asla öngörülmeyen anormal durumlardır. Örneğin OutOfMemoryError, StackOverflowError ve ThreadDead bu tür hatalardır. Yöntemlerin asla hatalar için işleyicileri olmamalıdır.

İstisna ile Hata arasındaki fark nedir?

Hem hatalar hem de istisnalar, bir programın yürütülmesi sırasında istenmeyen oluşumlardır. Ancak, aralarında önemli farklılıklar var. İstisnalar programcı tarafından öngörülebilirken, bir hatayı öngörmek zordur. İstisnalar işaretlenebilir veya işaretlenmemiş olabilir. Ancak hatalar her zaman kontrol edilmez. İstisnalar genellikle programcının neden olduğu bir hatayı gösterir. Ancak, bir sistem hatası veya bir kaynağın uygunsuz kullanımı nedeniyle hatalar meydana gelir. Bu nedenle, istisnalar uygulama düzeyinde ele alınmalı, hatalar ise sistem düzeyinde (sadece mümkünse) ele alınmalıdır. Bir istisnayı ele aldıktan sonra, normal program akışına dönmeniz garanti edilir. Ancak bir hata yakalansa bile, programcı ilk etapta bununla nasıl başa çıkacağını bilemeyebilir. Geleneksel hata işlemenin aksine, istisnalar hata işleme kodunu normal koddan ayırmaya izin verir.

Önerilen: