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.