Error dalam pemrograman dibagi dalam tiga katagori yaitu syntax error (saat kompilasi), run time error, dan logic error (output belum sesuai dengan yang diharapkan).
1.2. Jenis-Jenis Exception
Dalam java, exception merupakan objek dari subkelas yang diturunkan dari kelas Throwable. KelasThrowable 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 atauimplements kelas Exception.
Checked Exception
No
Exception
Deskripsi
1
ClassNotFoundException
Kelas tidak ditemukan
2
CloneNotSupportedException
melakukan clone objek yang tidak mengimplementasikan interfaceCloneable
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
Bentuk umum :
[modifier] returntype namaMethod() throws tipeException{
}
Contoh :
public void operasiMatematika() throws IOException,
ClassNotFoundException {
}
public void beriPinjaman() throws TolakException{
}
Melempar Exception
Bentuk umum :
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
Penangkapan runtime error, dapat mempunyai beberapa blok yang menangkap setiap jenis 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 blokfinally yang dieksekusi.
Jika terjadi exception pada blok try, maka salah satu blok catch dieksekusi, kemudian blok finallydieksekusi.
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 pesanrinci tentang objek Throwable yang mengalami exception
2
toString()
Mengembalikan nilai string yang berisi pesansingkat 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.
Tidak ada komentar:
Posting Komentar