Modull
Modull
EXCEPTION HANDLING
CAPAIAN PEMBELAJARAN
KEBUTUHAN ALAT/BAHAN/SOFTWARE
DASAR TEORI
26
RunTimeException biasanya disebabkan oleh kesalahan program atau pada
desain program. Misalnya NullPointerException yang disebabkan oleh proses
inisialisasi program yang tidak sempurna dan ArrayIndexOutOfBoundsException
yang disebabkan akses array yang melebihi kapasitas array yang ada.
Ada lima kata kunci yang digunakan oleh Java untuk menanngani
exception ini, yaitu, try, catch, finally, throw, dan throws.
Kelas exception mempunyai banyak kelas turunan. Dua kelas yang penting yaitu,
IOException
RuntimeException
27
Tabel Subkelas dari RunTime Exception
Kelas Keterangan
Kata kunci throw digunakan di program untuk melempar (throw) exception secara
eksplisit. Bentuk umum kalimat adalah,
Throw ThrowableInstance;
Instan Throwable harus merupakan obyek dengan tipe Throwable atau subkelas
dari Throwable. Terdapat dua cara untuk memperoleh obyek Throwable, yaitu,
1. Menggunakan parameter di klausa catch
2. Menciptakab salah satu dengan menggunakan operator new()
28
yang mungkin dilempar method atau subkelasnya, kecuali tipe Error atau
RunTimeException yang dilakukan sistem Java secara otomatis bila menemui
pelangggaran aturan-aturan Java. Semua exception yang hendak dilempar
method harus dideklarasikan di klausa throws. Jika method melemparkan
exception yang tidak dideklarasikan di deklarasi method, maka kompilator akan
memberi pesan kesalahan
Hirarki kelas yang menangani exception:
try {
// blok program tempat menuliskan statement yang akan di uji
apakan ada kesalahan atau tidak
}
catch ( <tipe exception1> <nama variabel>) {
// blok program tempat menuliskan aksi program bila sebuah
exception terjadi
}
. . .
catch ( <tipe exception2> <nama variabel>) {
// blok program tempat menuliskan aksi program bila sebuah
exception terjadi
}
finally {
// blok program lanjutan
29
exception. Exception harus berasal dari class Throwable atau dari class
turunannya.
PRAKTIK
Baris ke-5 tidak akan dieksekusi karena ada kesalahan pembagian dengan
bilangan nol pada baris ke-4
30
6. System.out.print("Pesan kesalahan: ");
7. System.out.println(t.getMessage());
8. }
9. System.out.println("Sesudah pembagian");
10. }
11. }
Output adalah angka nol yang artinya pada blok try terdapat kesalahan arithmetic
maka kesalahan tersebut ditangkap oleh blok catch dari kelas
ArithmeticException.
31
}
}
Bagian blok finally adalah bagian blok yang selalu dikerjakan. Output program
adalah angka nol dan tiga, artinya setelah salah satu blok catch dieksekusi maka
alur program selanjutnya adalah mengeksekusi bagian blok finally.
LATIHAN
TUGAS
REFERENSI
32