Pelajaran modul (1/2)
Blok Coba-Tangkap
Di Java, error runtime ditangani menggunakan Pengecualian. Penanganan pengecualian memungkinkan kami mencegat kondisi anomali dan mencegah program mogok.
Struktur try-catch
Untuk menangani kemungkinan pengecualian, kami menyertakan kode berisiko dalam blok try. Jika kesalahan terjadi di dalam blok try, JVM berhenti mengeksekusinya dan mencari blok catch yang cocok untuk menangani pengecualian.
try {
int result = 10 / 0; // Generates ArithmeticException
System.out.println("This will not be printed");
} catch (ArithmeticException e) {
System.out.println("Arithmetic error occurred: " + e.getMessage());
}Blok finally
Blok finally bersifat opsional dan selalu dieksekusi, terlepas dari apakah pengecualian dilemparkan atau tidak. Ini ideal untuk melepaskan sumber daya atau melakukan operasi pembersihan.
try {
System.out.println("Executing logic");
} catch (Exception e) {
System.out.println("Error");
} finally {
System.out.println("This block is always executed");
}Pengecualian Melempar: throw
Kita dapat dengan sengaja melontarkan pengecualian menggunakan kata kunci throw diikuti dengan instance baru dari kelas pengecualian.
public static void checkScore(int score) {
if (score < 0 || score > 100) {
throw new IllegalArgumentException("Score must be between 0 and 100");
}
}Cobalah sendiri
Lengkapi kode dengan menyisipkan blok try-catch untuk menangani potensi ArithmeticException yang dihasilkan dari pembagian a/b. Jika terjadi kesalahan, cetak 'Kesalahan: pembagian dengan nol'.
Tunjukkan petunjuk
Masukkan operasi pembagian ke dalam blok `coba` dan tangkap `ArithmeticException`, sehingga mencetak pesan yang diperlukan.
Solusi tersedia setelah 3 upaya
Lengkapi kode untuk mengimplementasikan blok try-catch-finally. Di blok try, coba ubah string str menjadi integer menggunakan Integer.parseInt. Di blok tangkapan, intersepsi NumberFormatException dan cetak 'Nomor tidak valid'. Di blok akhirnya, cetak 'Akhirnya'.
Tunjukkan petunjuk
Tulis struktur blok `try { ... } catch (NumberFormatException e) { ... } akhirnya { ... }`.
Solusi tersedia setelah 3 upaya
Selesaikan metode checkAge dengan melemparkan IllegalArgumentException dengan pesan 'Di Bawah Umur' jika usia yang diberikan kurang dari 18 tahun.
Tunjukkan petunjuk
Gunakan kata kunci `if (usia < 18)` dan `lempar baru` untuk membuat instance dan membuang pengecualian.
Solusi tersedia setelah 3 upaya