Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Java Dasar: Membaca dan Memperbaiki Kode

Pelajaran 15 dari 16

Objek, interface, dan exception

Exception checked dan unchecked

Setelah pelajaran ini kamu bisa menelusuri try, catch, dan finally, membedakan exception checked dari unchecked, dan memperbaiki galat unreported exception.

±13 menitDiperiksa 5 Okt 2026

Materi

Exception adalah objek yang dilempar ketika sesuatu gagal saat program berjalan. Blok try membungkus kode yang mungkin gagal; begitu exception terjadi, sisa try dilewati dan Java mencari catch yang tipenya cocok. Blok finally selalu dijalankan ketika try selesai, baik normal, lewat catch, maupun lewat return. Kode juga bisa melempar exception sendiri dengan throw new IllegalArgumentException("pesan").

try {
    int jumlah = Integer.parseInt("12x");
    System.out.println("terbaca " + jumlah);
} catch (NumberFormatException e) {
    System.out.println("bukan angka");
} finally {
    System.out.println("selesai");
}

Java membagi exception menjadi dua golongan. Unchecked adalah RuntimeException beserta turunannya, seperti NumberFormatException, ArithmeticException, NullPointerException, dan IndexOutOfBoundsException, ditambah Error; kompilator tidak mewajibkan apa pun terhadapnya. Checked adalah exception lain, seperti IOException saat membaca berkas. Untuk exception checked, kompilator mewajibkan pilihan: tangkap dengan catch, atau umumkan di kepala method dengan throws IOException supaya pemanggilnya yang menangani.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Apa keluaran program ini? Tanda | di pilihan memisahkan baris keluaran.

public class BacaJumlah {
    static int baca(String teks) {
        try {
            int n = Integer.parseInt(teks);
            System.out.println("terbaca " + n);
            return n;
        } catch (NumberFormatException e) {
            System.out.println("bukan angka");
            return 0;
        } finally {
            System.out.println("selesai");
        }
    }

    public static void main(String[] args) {
        int a = baca("12x");
        System.out.println(a);
    }
}
Pilih satu jawaban

Latihan 2 dari 3

javac menolak baris 7 dengan error: unreported exception IOException; must be caught or declared to be thrown. Perubahan mana yang membuat program terkompilasi?

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;

public class BacaStok {
    public static void main(String[] args) {
        String isi = Files.readString(Path.of("stok.txt"));
        System.out.println(isi);
    }
}
Pilih satu jawaban

Latihan 3 dari 3

Exception mana yang tergolong unchecked, sehingga kompilator tidak mewajibkan catch atau throws untuknya?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Sebagian materi kelas ini diadaptasi dari Exercism — jalur Java (concept exercises) (MIT).