2011-06-20 19 views
5

Java'nın çalışma zamanı istisnası ismiyle karıştırıldım. SQLexception gibi kontrol edilen istisnalar da bir programın yürütülmesi sırasında gerçekleşir. Neden yalnızca denetlenmeyenler çalışma zamanı istisnası olarak adlandırılıyor? Muhtemelen "çalışma zamanı" ile ilgili yanlış anlamalarım var.çalışma zamanındaki istisna durumlarını kontrol ettiniz mi?

Önerileriniz için teşekkür ederiz.

cevap

5

Karışıklıklarınızı anlayabiliyorum. Tüm istisnalar çalışma zamanında gerçekleşir!

Sınıfı bu şekilde adlandırmak için gelebilmemin tek nedeni, 'un derleme zamanında derlenmesinin gerekmediğinin bir istisna olduğunu açıklığa kavuşturmasıdır. bir throws maddesini kullanarak atılmasına istisna ilan etmeye tüm diğer sözde "işaretli" istisnalar aksine

, RuntimeExceptions programcı gerektirmez.

2

RuntimeExceptionjava.lang.Exception'un bir alt sınıfıdır. RunTimeExceptions hemen hemen her zaman bir programlama hatası veya/ve değişmezlerinin karşılanamamasının sonucudur (Boş bırakılmaları gerekmediğinde geçilir), böylece java.lang.Exception (Checked Exceptions olan) gibi onları yakalamanız gerekmez. Onları yakalamıyorsun çünkü Run Time sisteminin iyileşmesi için yapabileceği çok az şey var.

Sanırım çalışma zamanı, program çalışırken (tabii ki !!) ve kritik olarak derhal gerçekleştikleri anlamına gelir. Denetleyici, denetlenen Kurallar'daki gibi kodun içine yerleştirilmeleri için çekleri zorlamaz. Örneğin, bir sınıfı uygun bir şekilde adlandırmanın zor olduğu bir örnektir. Varsayılan olarak işaretlenmemiş İstisnalar olabilir ve istisna olarak adlandırılabilir. Sonra CheckedException sağlamak için alt sınıf - herkes java.lang.Exception bir Checked Exception çağırır, ancak sınıf adı açık değildir. Ama yapmadık ve sahip olduklarımız:

> java.lang.Exception is referred to as "Checked Exception" 
> java.lang.RuntimeException is referred to as "Unchecked Exception" 
İlgili konular