RuntimeException
RuntimeException'lar, kod içinde try/catch blokları gerektirmez. Genellikle doğru kodlama uygulamalarıyla kaçınılabilirler. Ancak hatalar fark edilmez ve RuntimeException yakalanmazsa, uygulama başarısız olur ve kullanıcının her zaman anlayamayacağı hata bilgilerini gösterir. Bu egzersizde, olası bir RuntimeException'ı yakalamadığında ne olduğunu ve try/catch ile yakaladığında ne olduğunu göreceksin.
Bu egzersiz, kursun bir parçasıdır
Java'da Veri Türleri ve İstisnalar
Egzersiz talimatları
- Bu uygulamadaki
withoutTryCatch()vewithTryCatchmetotlarını incele ve aralarındaki farkı not et. - Uygulamayı değişiklik yapmadan çalıştır — bu,
withoutTryCatch()metodunun çalışmasına ve birRuntimeExceptionoluşmasına yol açar. - 5. satırı yorum satırı yap, 7. satırın yorumunu kaldır ve uygulamayı yeniden çalıştır; bu kez
withTryCatch()metodu çalışacak veRuntimeException'ı ele alacaktır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
public class RuntimeExceptionHandling {
public static void main(String[] args) {
// Comment out this line
withoutTryCatch();
// Uncomment this line
// withTryCatch();
}
public static void withoutTryCatch() {
String[] mounts = { "Everest", "K2", "Kangchenjunga", "Lhotse" };
String selectedMount = mounts[4];
System.out.println("Selected item is: " + selectedMount);
}
public static void withTryCatch() {
try {
String[] mounts = { "Everest", "K2", "Kangchenjunga", "Lhotse" };
String selectedMount = mounts[4];
System.out.println("Selected item is: " + selectedMount);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Oops - made a mistake accessing the mounts array with a bad index.");
}
}
}