Kesalahan
dalam kode java ditangani dengan yang dinamakan Exception Handling
Atau Penanganan Eksepsi. Yang dimaksudkan
dengan exception disini adalah suatu kondisi dimana alir instruksi program
menjadi tidak seperti yang diinginkan. Misalnya kita ingin mendapatkan suatu
nilai hasil pembagian antara 2 buah bilangan bulat. Jika yang kita inginkan
adalah 4 dibagi 2 tentu java bisa mengdapatkan suatu bilangan hasil dengan alir
program yang wajar. Atau bila yang kita inginkan adalah 22 dibagi 7 tentulah
java mampu menampilkan hasil. Hal yang berbeda kan terjadi apabila yang muncul
adalah 5 dibagi 0, alir program akan mengeluarkan pesan kesalahan alias ERROR.
Hal hal seperti inilah yang harus diwaspadai
oleh programmer java. Harus dipersiapkan suatu fungsi yang mampu menangani hal
tersebut. Eksepsi sendiri merupakan obyek dalam java yang diturunkan dari kelas
java.lang.Throwable.
Dalam
menangani error dengan Exception
Handling, perlu kita perhatikan adalah adanya 2 blok yang menjadi cirri khas Exception
Handling yaitu : blok try dan blok catch. Blok try merupakan blok code yang
didalamnya berisi code yang berpotensi menghasilkan eksepsi. Sedangkan blok
catch merupakan blok yang berisi code exception handler-nya. Jadi try itu untuk
diuji dan cacth adalah rutin yang dijalankan saat ketemu eksepsi. Lihat contoh
berikut ini.
int x = 5;
int y = 0;
try {
int z = i / j;
System.out.println(z);
} catch (Exception ex) {
System.out.println(“Ada
eksepsi\n”+ ex.getMessage());
}
Ada suatu kondisi dimana dibutuhkan penanganan eksepsi yang
terdiri atas beberapa blok catch. Dalam hal ini sebaiknya letakkan objek yang
paling mungkin menghasilkan eksepsi di blok yang paling dekat. Kenapa? Agar jika
ada eksepsi makan eksepsi yang terjadi dapat segera ditangkap oleh blok yang
sesuai, dan kode program mengalir dengan normal. Berikut contohnya :
int x = 5;
int y = 0;
try {
int z = i / j;
System.out.println(z);
} catch (Exception ae) {
System.out.println(“Ada
Eksepsi Aritmatika”);
} catch (Exception ex) {
System.out.println(“Ada
eksepsi lainnya”);
}
Diatas ada 2 buah eksepsi yang berbeda. Eksepsi aritmatika
dan eksepsi lainnya. Keduanya ditangkap dengan blok catch yang berbeda. Asik
kan?
Kadang kala kita butuh juga suatu blok catch yang bersifat
umum, artinya sebuah eksepsi yang “lepas” dari semua blok catch yang ada, akan
ditangani disini. Blok ini dinamakan blok finally. Blok ini akan selalu
dijalankan. Untuk lrbih jelasnya penggunaan blok finally ini, perhatikan
potongan program berikut ini :
int x = 5;
int y = 0;
try {
int z = i / j;
System.out.println(z);
} catch (Exception ae) {
System.out.println(“Ada
Eksepsi Aritmatika”);
} catch (Exception ex) {
System.out.println(“Ada
eksepsi lainnya”);
} finally {
System.out.println(“Ini akan selalu
disksekusi”);
}
Artikel ini berlanjut [disini]
Saya kurang begitu pandai denganyang beginian Pak.
ReplyDeleteNamun kalau Matematika memang kesukaan sedari kecil.
Hehehee aneh ya..
ini juga mirip dengan matematika kok mas
DeleteOh ya?. Baiklah saya akan coba pelajarinya pelan - pelan ya Pak.
Deletesip mas.... pasti bisa !!
Delete