A. PENGERTIAN
Exception
adalah Event yang menyela alur proses normal suatu program. Event ini biasanya
berupa beberapa error. Event ini akan menyebabkan program berhenti tidak
normal. Sehingga Exception Handling adalah suatu mekanisme penanganan
error atau masalah yang mungkin terjadi dalam sebuah program. Misalnya, sebuah
program memiliki operasi pembagian dimana suatu ketika user menginputkan
bilangan pembagi atau denumerator 0, maka program tersebut harus memiliki suatu
exception handling pada kasus tersebut.
Selain
contoh diatas exception handling disini juga berguna saat program kita
membutuhkan akses ke CD ROM, USB, Audio&Video File, Internet dll, sehingga
apabila alat alat yang kita butuhkan dalam program kita tersebut tiba tiba
terputus aksesnya maka program kita tidak secara tiba tiba mati dan agar
program kita bisa terus berjalan.
Apabila
program tidak menggunakan exception handling, maka dalam menjalankan perintah
kemudian menemui error, program akan langsung berhenti.Tetapi dengan exception
handling ini program akan memberikan suatu pesan kesalahan, exception akan
melemparkan error tersebut, catch akan menerima dan memproses error tersebut
dan program menjalankan perintah selanjutnya. Yang pada intinya akan
memberikan pemberitahuan kepada user untuk mengulangi inputannya kembali, atau
membatalkan perintahnya kepada program.
B. PERBEDAAN
EXCEPTION DENGAN ERROR
Exception
merupakan kesalahan ringan yang disebabkan oleh program dan kesalahan external.
Kesalahan jenis ini dapat ditangkap dan diatasi oleh program. Exception terdiri
dari banyak subclass.
Error
merupakan class yang berhubungan dengan kesalahan pada internal system. Dimana
proses recovery sangat sulit dilakukan bahkan tidak mungkin dilakukan. Jika
terjadi kesalahan jenis ini maka hanya dapat dilakukan bagaimana memberitahu
kepada pemakai dan melakukan pengakhiran program.
C. JENIS-JENIS
EXCEPTION HANDLING
Berdasarkan jenisnya kesalahan dalam pemrograman
terbagi menjadi 3, yaitu:
1.
Runtime Error Adalah exception yang bisa
saja tidak ditangani tanpa menyebabkan program berhenti kecuali jika propogasi
exception nya sampai ke main, maka akan menyebabkan terminasi program secara
subnormal. Checked exception adalah exception yang ditangani secara explicit
di dalam throws. Programmer harus membuat catch untuk menangani exception yang
terjadi.
a.
error adalah kesalahan yang tidak
unrecoverable exception artinya tidak bisa ditangani oleh catch.
b.
Runtime error adalah kesalahan yang
disebabkan oleh tidak tersedianya sumber daya atau kondisi yang normal bagi
program untuk berjalan dengan baik, misalnya kekurangan memori computer, disk
full, atau pintu drive tidak terkunci, dll.
2.
Logical Error Adalah kesalahan yang
disebabkan oleh kesalahan logika maupun model atau metode yang digunakan untuk
pemprosesan data, sehingga menyebabkan informasi yang dihasilkan menjadi salah.
Kesalahan ini tidak dapat dideteksi oleh compiler maupun interpreter, kesalahan
ini disadari setelah melihat penyimpanan pada saat proses maupun hasil proses.
3.
Syntax Error Adalah kesalahan yang
disebabkan oleh kesalahan tata cara penulisan tanda baca, kesalahan pemakaian
operator dan nilai. Kesalahan jenis ini akan dengan mudah dideteksi oleh
compiler maupun interpreter.
D. KEYWORD
PENTING PADA EXCEPTION HANDLING
a) try: keyword ini biasanya digunakan dalam suatu
block program. Keyword ini digunakan untuk mencoba menjalankan block program
kemudian mengenai dimana munculnya kesalahan yang ingin diproses. Keyword ini
juga harus dipasangkan dengan keyword catch atau keyword finally.
b) catch: jika kita sudah melihat penjelasan try maka
secara tidak langsung kita sudah memahami kegunaan dari keyword ini. Dalam
java, keyword catch harus dipasangkan dengan try. Kegunaan keyword ini adalah
menangkap kesalahan atau bug yang terjadi dalam block try. Setelah menangkap
kesalahan yang terjadi maka developer dapat melakukan hal apapun pada block
catch sesuai keinginan developer. Keyword catch juga dapat diletakan
berulang-ulang sesuai dengan kebutuhan.
c) finally: keyword ini merupakan keyword yang
menunjukan bahwa block program tersebut akan selalu dieksekusi meskipun adanya
kesalahan yang muncul atau pun tidak ada.
d) throw: keyword ini digunakan untuk melemparkan
suatu bug yang dibuat secara manual.
e) throws: keyword throws digunakan dalam suatu method
atau kelas yang mungkin menghasilkan suatu kesalahan sehingga perlu ditangkap
errornya. Cara mendefinisikannya dalam method adalah sebagai berikut : type
method-name throws exception-list1, exceptio-list2, … {}.
0 Komentar untuk "Exception Handling"