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

Postingan populer dari blog ini

T E T R I S (FINAL PROJECT PBO)