Senin, 08 Desember 2014

Exception Handling Pada Java 2


Error dalam pemrograman dibagi dalam tiga katagori yaitu syntax error (saat kompilasi), run time error, dan logic error (output belum sesuai dengan yang diharapkan).
Exception dipicu oleh run time error dan digunakan sebagai sarana melaporkan kondisi-kondisi kesalahan.

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