Lompati ke konten utama
Modul 5 · Pelajaran 1 dari 29/14 dalam kursus~12 min
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.

Java
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.

Java
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.

Java
public static void checkScore(int score) {
    if (score < 0 || score > 100) {
        throw new IllegalArgumentException("Score must be between 0 and 100");
    }
}

Cobalah sendiri

Latihan#java.m5.l1.e1
Upaya: 0Memuat…

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'.

Memuat editor…
Tunjukkan petunjuk

Masukkan operasi pembagian ke dalam blok `coba` dan tangkap `ArithmeticException`, sehingga mencetak pesan yang diperlukan.

Solusi tersedia setelah 3 upaya

Latihan#java.m5.l1.e2
Upaya: 0Memuat…

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'.

Memuat editor…
Tunjukkan petunjuk

Tulis struktur blok `try { ... } catch (NumberFormatException e) { ... } akhirnya { ... }`.

Solusi tersedia setelah 3 upaya

Latihan#java.m5.l1.e3
Upaya: 0Memuat…

Selesaikan metode checkAge dengan melemparkan IllegalArgumentException dengan pesan 'Di Bawah Umur' jika usia yang diberikan kurang dari 18 tahun.

Memuat editor…
Tunjukkan petunjuk

Gunakan kata kunci `if (usia < 18)` dan `lempar baru` untuk membuat instance dan membuang pengecualian.

Solusi tersedia setelah 3 upaya