Jadi Exception Handling pada java adalah mengidentifikasi beberapa error yang terjadi karena penulisan syntax dan logika dalam program yang kita buat dan membuatnya menjadi notifikasi error yang lebih mudah untuk dipahami.
1.2. Jenis-Jenis Exception
Dalam java, exception merupakan objek dari subkelas yang diturunkan dari kelas Throwable. Kelas Throwable ini terdapat dalam package java.lang.object.
1.2.1. Kelompok Kelas Error
Error ini bersifat fatal sehingga sistem tidak dapat dimanipulasi untuk diperbaiki, contoh kelas: LinkageError, VirtualMachineError, dan AWTError.
1.2.2. Kelompok Kelas Exception
Jenis error ini masih dapat diantisipasi dengan menyisipkan statement tambahan untuk mendeteksi data yang berpotensi menimbulkan error.
Ada kelompok exception yang diperiksa oleh interpreter, apakah akan ditangani atau dilempar, namun ada pula exception yang akan tidak diperiksa interpreter.
Disamping itu programmer dibolehkan membuat exception sendiri dengan cara extends atau implements kelas Exception.
Checked Exception
No
|
Exception
|
Deskripsi
|
1
|
ClassNotFoundException | Kelas tidak ditemukan |
2
|
CloneNotSupportedException | melakukan clone objek yang tidak mengimplementasikan interface Cloneable |
3
|
IllegalAccessException | Pengaksesan ke kelas ditolak |
4
|
InstantiationException | Menciptakan objek dari kelas abtract ataupun dari interface |
5
|
InterruptedException | Thread telah diinterupsi oleh thread lain |
6
|
NoSuchFieldException | Field yang diminta tidak ada |
7
|
NoSuchMethodException | Method yang diminta tidak ada |
Uncheked Exception
No
|
Exception
|
Deskripsi
|
1 | AritmaticException | Kesalahan Aritmatik seperti pembagian dengan nol |
2 | ArrayIndexOutBoundsException | Index array di luar batas |
3 | ArrayStoreException | Pemberian nilai ke elemen array tidak sesuai dengan tipenya |
4 | ClassCastException | Cast yang tidak sah |
5 | IllegalArgumentException | Argument illegal |
6 | IllegalMonitorStateException | Operasi monitor illegal seperti menunggu di thread yang tidak terkunci |
7 | IllegalStateException | Lingkungan atau aplikasi state yang tidak benar |
8 | IllegalThreadStateException | Operasi yang diminta tidak kompatibel dengan state thread saat itu |
9 | IndexOutOfBoundException | Indeks di luar batas |
10 | NegativeArraySizeException | Array diciptakan dengan ukuran negatif |
11 | NullPointerException | Penggunan null yang tidak sah |
12 | NumberFormatException | Konversi yang tidak sah dari string ke format numerik |
13 | SecurityException | Melanggar aturan security |
14 | StringIndexOutOfBounds | Index di luar batas string |
15 | UnsupportedOperationException | Ditemukan operasi yang tidak didukung |
Dua Exception yang belum dikelompokkan, yaitu IOException dan AWTException.
1.3. Mengantisipasi Exception
Diperlukan tiga langkah berikut ini untuk mengantisipasi exception :
- Mendeklarasikan Exception
[modifier] returntype namaMethod() throws tipeException{
}
Contoh :
public void operasiMatematika() throws IOException,
ClassNotFoundException {
}
public void beriPinjaman() throws TolakException{
}
- Melempar Exception
TipeException namaObjek = new TipeException;
throw namaObjek;
Diringkas menjadi :
throw namaObjek TipeException;
atau
throw new TipeException();
Contoh :
TolakException t = new TolakException(”lagi pelit”);
throw t;
Diringkas menjadi :
throw new TolakException(”lagi pelit!”);
- Menangkap Exception
Bentuk umum :
try {
// pemanggilan method yg mungkin menghasilkan exception
// blok statement yg mungkin menghasilkan exception
}
catch(TipeException1 namaObjek) {
// penanganan salah-satu jenis exception
}
catch(TipeException2 namaObjek) {
// penanganan salah-satu jenis exception
}
catch(TipeExceptionN namaObjek) {
// penanganan salah-satu jenis exception
}
finally {
// blok yang harus dieksekusi
}
Jika pada blok try tidak terjadi exception, maka blok catch tidak ada yang dieksekusi dan segera blok finally yang dieksekusi.
Jika terjadi exception pada blok try, maka salah satu blok catch dieksekusi, kemudian blok finally dieksekusi.
1.4. Mekanisme Mengantisipasi Exception
Ada tiga kemungkinan skenario exception, pertama jika tidak terjadi exception (tidak ada blok catch yang dieksekusi), kedua jika exception terjadi pada blok method tunggal (salah-satu blok catch dieksekusi), ketiga jika terjadi exception pada blok tersarang.
Method A {
… try { … memanggil method B; } catch(Exception1 obj1) { proses Obj1; } … } |
Method B {
… try { …; } catch(Exception2 obj2) { proses Obj2; } … } |
1.5. Menampilkan Pesan Exception
Beberapa method standard yang dapat digunakan untuk menampilkan pesan exception merupakan anggota dari kelas java.lang.Throwable.
No
|
Method Pesan Exception
|
Deskripsi
|
1
|
getMessage() | Mengembalikan nilai string yang berisi pesan rinci tentang objek Throwable yang mengalami exception |
2
|
toString() | Mengembalikan nilai string yang berisi pesan singkat tentang objek yang mengalami exception |
3
|
getLocalizedMessage() | Menampilkan pesan exception lokal (yang terjadi pada subkelas saja) |
4
|
printStackTrace() | Method ini bersifat void, dan hanya mencetak informasi tentang objek Throwable |
No comments:
Post a Comment