Exception atau exceptional events merupakan salah satu mekanisme yang terdapat pada Java untuk menghindari pemborosan waktu pada saat proses error-checking. Pada sebuah program tentunya kita pernah menemukan error atau bugs. Kesalahan atau error yang terjadi saat runtime, menyebabkan gangguan pada alur eksekusi program. Tipe error yang muncul pun cukup beragam, misalnya error pembagian 0, input yang tidak benar, dan membuka file yang tidak ada.
Berikut adalah contoh penerapan exception handling.
Pada class BalokDenganException diatas, methood setPanjang(), setLebar(), dan setTinggi() akan melemparkan exception bila nilai yang dimasukkan adalah negatif. Method-method tersebut mendeklarasikan IllegalArgumenException pada method headernya.
Lalu, untuk menguji bisa menggunakan class TestBalokDeganException, adapun programnya adalah sebagai berikut.
Output:
Class TestBalokDenganException membuat 5 objek untuk menguji cara kerja penanganan exception. Perhatikan pada objek balok5 pada balok try, nilai panjang yang ditetepakan adalah negatif sehingga akan melemparkan IllegalArgumentException pada method setPanjang().
Kemudian exception yang terlempar itu akan ditangkap pada blok catch. Tipe objek ex adalah IllegalArgumentException, dan ini sesuai dengan objek exception yang dilemparkan oleh method setPanjang(), sehingga exception ini akan ditangkap oleh blok catch.
Lalu, pada exception handler akan menampilkan pesan singkat dengan ex.toString() mengenai exception tersebut atau juga bisa menggunakan ex.printStackTrace(). Ketika exception terjadi program akan tetap dilanjutkan. Jika exception handler tidak menangkap exception tersbut maka program akan dihentikan secara mendadak. Bila method melemparkan Error Exception dari RuntimeException maka methd harus dipanggil di dalam blok try-catch.