05 Mei 2012

Exception Java

Definisi dari exception adalah sebuah event yang terjadi selama eksekusi program yang mengganggu alur normal dari instruksi program. Ketika terjadi sebuah error dalam metode, metode kemudian menciptakan sebuah obyek dan memberikan obyek tersebut ke sistem runtime. Obyek itu, disebut exceptional object (obyek pengecualian), berisi informasi mengenai error yang terjadi, termasuk jenis error dan keadaan terakhir dari program ketika error terjadi. Membuat exception object dan memberikan ke sistem runtime disebut throwing an exception (melemparkan exception).

Setelah sebuah metode melemparkan exception, sistem runtime akan berusaha mencari sesuatu untuk menangani exception tersebut. Maksud dari "sesuatu" yang menangani exception adalah daftar metode yang sudah diurutkan yang sudah dipanggil agar sampai ke motode dimana error terjadi. Daftar metode tersebut biasanya disebut call stack (tumpukan pemanggilan). Umtuk lebih jelas, perjhatikan gambar berikut.

Sistem runtime mencari bagian kode yang bisa menangani exception di dalam call stack. Bagian kode yang bisa menangani exception disebut exception handler. Pencarian dimulai dari metode tempat error terjadi dan dilanjutkan ke dafatar berikutnya di call stack. Ketika exception handler ditemukan, sistem runtime mengoperkan exception ke exception handler. Exception handler dianggap sesuai jika tipe obyek exception yang dilemparkan cocok dengan tipe exception yang bisa ditangani exception handler.

Exception handler yang terpilih dianggap telah menangkap exception. Jika sistem runtime sudah mencari keseluruhan metode dalam call stack namun tidak menemukan exception handler yang sesuai, sistem runtime (dan keseluruhan program) akan dihentikan. menggunakan exception untuk manajemen error memiliki beberapa kelebihan dibandingkan teknik manajemn error tradisional. Beberapa kelebihan tersebut yaitu:

  1. Memisahkan kode error-handling dengan kode biasa
  2. Menyebarkan error ke call stack
  3. Mengelompokan dan membedakan tipe error



Tidak ada komentar:

Posting Komentar