Tavsiye, 2024

Editörün Seçimi

Java'da Hata ile İstisna Arasındaki Fark

“Atılabilir” Java'nın hatası ve istisna hiyerarşisinin kökü olarak işlev görür. “Hata”, programın koduyla ele alınamayan kritik bir durumdur. İstisna, programın koduyla ele alınabilecek istisnai bir durumdur. Hata ve istisna arasındaki önemli fark, bir hatanın sistem kaynaklarının yetersizliğinden kaynaklanması ve istisnaların da kodunuzdan kaynaklanmış olmasıdır. Karşılaştırma tablosu ile birlikte hata ve istisna arasındaki diğer farklılıkları da inceleyelim.

Karşılaştırma Tablosu

Karşılaştırma için temelHataİstisna
TemelHata, sistem kaynaklarının eksikliğinden kaynaklanır.Kod nedeniyle bir istisna ortaya çıkıyor.
KurtarmaBir hata düzeltilemez.Bir istisna kurtarılabilir.
Anahtar kelimelerBir hatayı program koduyla çözmenin bir yolu yoktur.İstisnalar, "try", "catch" ve "throw" üç anahtar sözcüğü kullanılarak ele alınır.
sonuçlar
Hata tespit edildiğinde program anormal şekilde sonlandırılır.Bir istisna tespit edildiğinde, karşılık gelen "atma" ve "yakalama" anahtar sözcükleri tarafından atılır ve yakalanır.
TürleriHatalar denetlenmeyen tür olarak sınıflandırıldı.İstisnalar kontrol edilmiş veya kontrol edilmemiş tip olarak sınıflandırılır.
paketJava'da hatalar "java.lang.Error" paketi olarak tanımlanmıştır.Java'da, bir istisna "java.lang.Exception" içinde tanımlanmıştır.
ÖrnekOutOfMemory, StackOverFlow.İşaretli İstisnalar: NoSuchMethod, ClassNotFound.
İşaretlenmemiş İstisnalar: NullPointer, IndexOutOfBounds.

Hatanın tanımı

Hata ”, yerleşik “Atılabilir” sınıfının bir alt sınıfıdır. Hatalar, sistem kaynaklarının eksikliği nedeniyle ortaya çıkan kritik koşullardır ve programın koduyla ele alınamaz. Hatalar hiçbir şekilde telafi edilemez, çünkü bunlar yaratılamaz, atılamaz, yakalanamaz veya cevaplanamaz. Hatalar, genellikle programınız tarafından idare edilemeyen felaket başarısızlığından kaynaklanır.

Derleyici oluşumu hakkında herhangi bir bilgiye sahip olmadığı için hatalar her zaman denetlenmemiş türdendir. Hatalar her zaman çalışma ortamında ortaya çıkar. Hata bir örnek yardımıyla açıklanabilir, program yığın taşması, bellek yetersizliği hatası veya sistem çökmesi hatası vardır, bu tür hatalar sistemden kaynaklanır. Bu tür hatalardan kod sorumlu değildir. Hatanın ortaya çıkmasının sonucu, programın olağandışı bir şekilde sonlandırılmasıdır.

İstisna tanımı

“İstisna” aynı zamanda yerleşik “Atılabilir” sınıfının bir alt sınıfıdır. İstisnalar, bir çalışma zamanı ortamında meydana gelen istisnai koşullardır. İstisnaların çoğu, programımızın kodundan kaynaklanmaktadır. Ancak, istisnalar giderilebildiği için istisnalar programın kendisi tarafından gerçekleştirilebilir. İstisnalar, "dene", "yakala", "at" gibi üç anahtar sözcük kullanılarak gerçekleştirilir. İstisna yazma sözdizimi şöyledir:

 deneyin {// kodunuzu buraya yazın} Catch (İstisna türü) {// kodunuzu buraya yazın} 

Yukarıdaki kodda, try bloğunda yazılı kod, istisna için izlemek istediğiniz koddur. İstisna bir try bloğunda meydana gelirse, “throw” anahtar kelimesi kullanılarak atılır. Atılan istisna, yukarıdaki kodun “catch” bloğu tarafından yakalanabilir. “İstisna türü”, meydana gelen istisnanın türüdür.

Basit bir deyişle, yanlış koddan kaynaklanan hataların istisnalar olduğunu söyleyebiliriz. Örneğin, istenen bir sınıf bulunamazsa veya istenen bir yöntem bulunmazsa. Bu tür istisnalar programdaki koddan kaynaklanmaktadır; Bu tür istisnalardan sistem sorumlu değildir. İstisnalar "kontrol edildi" ve "kontrol edilmedi" olarak sınıflandırıldı. Denetlenmeyen istisnalar, çalışma zamanı sırasında ortaya çıktığı gibi derleyici bilgisinde değildir, oysa derleyici, derleme zamanı sırasında derlendiği bilinen kontrol edilen istisnalar hakkında bilgi sahibidir.

Hata ve İstisnadaki Temel Farklılıklar

  1. Hata, yalnızca sistem kaynakları yetersiz olduğunda ortaya çıkar, bir kodun bir sorunu varsa, bir istisna ortaya çıkar.
  2. Bir hata asla kurtarılamaz, oysa istisna işlemek için kodu hazırlayarak bir istisna kurtarılabilir.
  3. Bir hata hiçbir zaman ele alınamaz, ancak bir istisna atan kod bir try-catch bloğuna yazıldığında kod tarafından bir istisna ele alınabilir.
  4. Bir hata oluştuysa, program anormal biçimde sonlandırılır. Öte yandan, istisna meydana gelirse, program bir istisna atar ve try and catch bloğu kullanılarak işlenir.
  5. Hatalar kontrolsüz tiptedir, yani hata, derleyiciler bilgisinde değildir, buna karşılık bir istisna kontrol edilmiş ve kontrol edilmemiş olarak sınıflandırılır.
  6. Hatalar java.lang.Error paketinde tanımlanırken, bir istisna java.lang.Exception tanımlanır.

Sonuç:

İstisnalar, programın kodlamasında yapılan hataların sonuçlarıdır ve hatalar sistemin yanlış işleyişinin bir sonucudur.

Top