RuntimeException
RuntimeExceptions tidak memerlukan blok try/catch dalam kode. Biasanya, ini dapat dihindari dengan praktik pengodean yang baik. Namun, ketika kesalahan tidak terdeteksi dan RuntimeException tidak tertangkap, aplikasi akan gagal dan menampilkan informasi masalah yang mungkin tidak selalu dipahami pengguna. Dalam latihan ini, Anda akan melihat apa yang terjadi saat Anda tidak menangkap kemungkinan RuntimeException dan apa yang terjadi saat Anda menggunakan try/catch untuk menanganinya.
Latihan ini adalah bagian dari kursus
Tipe Data dan Exception di Java
Petunjuk latihan
- Periksa metode
withoutTryCatch()danwithTryCatchdalam aplikasi ini dan perhatikan perbedaannya. - Jalankan aplikasi tanpa perubahan — yang akan mengeksekusi metode
withoutTryCatch()dan menyebabkanRuntimeException. - Komentari baris 5 dan hapus komentar pada baris 7, lalu jalankan kembali aplikasi; kali ini akan mengeksekusi metode
withTryCatch()yang menanganiRuntimeException.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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.");
}
}
}