Exception Handling
Halo semuaa…kali ini kita akan membahas tentang Exception Handling. Mari kita simak.
I. Pengertian
Apa sih Exception itu?? Jadi pada
dasarnya, Exception merupakan subkelas dari kelas java.lang.Throwable. Karena
Exception adalah sebuah kelas maka hakikatnya ketika program berjalan dan
muncul sebuah bug atau kesalahan maka bug tersebut dapat dianggap sebuah object,
sehingga ketika object ini di tampilkan di layar maka java akan secara otomatis
memanggil method toString yang terdapat dalam object bertipe Exception ini.
Java memberikan akses kepada developer untuk mengambil object bug yang terjadi
ini dengan mekanisme yang dikenal Exception Handling. Exception handling
merupakan fasilitas di java yang memberikan flexibilitas kepada developer untuk
menangkap bug atau kesalahan yang terjadi ketika program berjalan.
II. Perbedaan antara Class Error dan Class Exception di java
Selain Exception,
java.lang.Throwable juga memiliki subclass yaitu class Error. Jadi apa sih
bedanya? Error merupakan masalah yang muncul tapi tidak ada alasan yang kuat
untuk menangkapnya, sedangkan Exception merupakan kesalahan kecil yang muncul
dan ingin diperlakukan sesuai keinginan developer.
III. Keyword penting pada exception handling
Ada 5 keyword penting dalam java dalam hal 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.
Contoh penggunaan :
Output :
java.lang.ArithmeticException: /
by zero
Perhatikan contoh diatas, ada
beberapa hal penting yang perlu dilihat. Pertama, block program yang diyakini
menimbulkan kesalahan maka ada di dalam block try and catch. Kedua, kesalahan
yang muncul akan dianggap sebagai object dan ditangkap catch kemudian di assign
ke variable kesalahan dengan tipe Exception. Ketiga, perintah setelah munculnya
kesalahan pada block try tidak akan dieksekusi.
b. catch
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. Contoh Program :
Keyword catch juga dapat
diletakan berulang-ulang sesuai dengan kebutuhan. Contoh :
c. finally
Keyword ini merupakan keyword
yang menunjukan bahwa block program tersebut akan selalu dieksekusi meskipun
adanya kesalahan yang muncul atau pun tidak ada. Contoh implementasinya pada
program :
Output Program diatas:
terima kasih telah menjalankan
program
Jika dilakukan modifikasi dari
program diatas menjadi :
Output Program :
ada kesalahan yang muncul
terima kasih telah menjalankan
program
Perhatikan kedua contoh diatas,
block finally akan selalu dieksekusi meskipun adanya kesalahan atau tidak pada
block try. Berbeda dengan keyword catch keyword finally hanya dapat diletakan 1
kali setelah keyword try.
d. throw
Keyword ini digunakan untuk
melemparkan suatu bug yang dibuat secara manual. Contoh program :
Output Program :
java.lang.Exception: kesalahan
terjadi
Seperti yang anda lihat pada
program diatas, pada keyword throw new Exception(“kesalahan terjadi”); akan
melempar object bertipe exception yang merupakan subclass dari class Exception
sehingga akan dianggap sebagai suatu kesalahan yang harus ditangkap oleh
keyword catch.
Perhatikan contoh berikut ini
Output Program :
object dengan tipe kelas B
Program diatas telah
mendefinisikan suatu kelas B mengextends dari kelas Exception. Ketika kita
melakukan throw new B(); maka object dari kelas bertipe B ini akan dianggap
kesalahan dan ditangkap oleh block catch. Sekarang jika anda menghilangkan
keyword throw apa yang terjadi?.
e. throws
Keyword throws digunakan dalam
suatu method yang mungkin menghasilkan suatu kesalahan sehingga perlu ditangkap
errornya. Cara mendefinisikannya dalam method adalah sebagai berikut :
<method modifier> type method-name throws exception-list1,
exceptio-list2, … {}.
Contoh Program :
Output Program :
java.lang.NullPointerException
Contoh program lainnya :
Output Program :
java.lang.ArrayIndexOutOfBoundsException
Perhatikan kedua contoh pengguaan keyword throws pada method. Ketika method tersebut dipanggil dalam block try. Maka method tersebut akan membuat object yang merupakan subclass dari class Throwable dan method tersebut akan melemparkan kesalahan yang ada dalam block method kedalam block try. Di dalam block try, kesalahan tersebut kemudian ditangkap kedalam block catch.
===================================================================================
Nah, setelah mengetahui dasarnya,
berikut adalah beberapa contoh exception yang sering terjadi pada Bahasa
pemrograman Java:
1. Arithmetic Exception
Untuk perhitungan aritmatika,
misalkan sebuah angka dibagi 0.
Output :
2. Null Pointer Exception
Bila object yang ingin dia kses
masih NULL, maka tidak bisa akses method dari object tersebut.
3. Number Format Exception
Bila ingin melakukan casting tipe
data string ke int maka akan terjadi kesalahan ini.
4. IO Exception
Bila yang diminta adalah angka,
tapi diinputkan berupa String

Komentar
Posting Komentar