Tugas Exception Handling
Dalam dunia programming, developer perangkat lunak tentu tidak aneh dengan "Error". Bagi developer, mereka tidak hanya bertanggung jawab menyelesaikan error yang terjadi, tetapi juga harus memikirkaan error yang mungkin saja baru akan terjadi akibat penggunaan pernagkat lunak tersebut.
Hal yang mungkin saja terjadi di luar perkiraan dan mungkin saja menuntun perangkat lunak ke dalam kondisi erro disebut Exception. Exception dapat mengganggu jalannya perangkat lunak yang tadinya sudah berjalan baik. Untuk hal itu, developer membutuhkan Exception dan Handling exception.
Untuk menanggulangi Exception dan Error, biasa digunakan kondisi percabangan di mana percabangan yang dibuat akan menjalankan suatu perintah ketika ada kasus yang tidak sehaarusnya terjadi atau diinginkan. Di bahasa Java, terdapat konsep lain yang bisa digunakan untuk menanggulangi Exception dan Error yang terjadi. Konsep itu disebut "try catch". Konsep ini memungkinkan suatu kumpulsn perintah dijalankan (disimpan di bagian try) dan ketika terjadi Error akibat Exception Event maka perintah catch akan dijalankan.
Berikut jenis-jenis Exception yang sering muncul antara lain:
1. ArithematicException
Terjadi ketika ada kesalahan pada operasi artimatika.
2. NullPointerException
Terjadi ketika ada operasi yang mengacu pada variabel yang bernilai null.
3. NegativeArraySizeException
Terjadi ketika ada ukuran dari Array yang dibuat bernilai negatif.
4. NumberFormatException
Terjadi ketika nilai bertipe String tidak bisa diubah menjadi bertipe numerik(karena mengandung karakter yang tidak bisa diubah atau ukuran variabel penampung melebihi batas tipe data).
5. ClassCastException
Terjadi ketika ada typecast (perubahan tipe) ke dalam bentuk kelas yang tidak sesuai.
6. IOException
Terjadi ketika operasi-operasi yang berhugungan dengan I/O mengalami kegagalan atu interupsi
7. ClassNotFoundException
Terjadi kita mengakses sebuah kelas melalui namanya dalam bentuk string tetapi kelas tersebut tidak ada.
Pada contoh berupa operasi pembagian dengan 0 ini, saya akan membuat tiga kelas yaitu:
1. Class Pembagian dimana tidak ada exception handling
2. Class PembagianIf dimana exception handling menggunakan percabangan if-else
3. Class PembagianException dimana exception handling menggunakan konsep "try-catch"
Diagram:
1. Pembagian
2. PembagianIf
3. PembagianException
Berikut hasil output yang diberikan. Dimana PembagianIf dan PembagianException menghasilkan output yang sama, tetapi cara kerja tersebut berbeda.:
Pembagian tanpa exception handling
Pembagian dengan exception handling if-else
Komentar
Posting Komentar