Sytax-nya adalah sebagai berikut:
try {
//what you want to try to do
}
catch (Exception e) {
//what if there is some errors?
}
finally {
//and finally? what to do?
}
Penjelasannya adalah sebagai berikut:
-Di dalam blok try { } adalah perintah-perintah yang akan dicoba untuk dilakukan
-Di dalam blok catch adalah perintah-perintah yang akan dilakukan bila terjadi error
-Finally menampung perintah-perintah yang akan dieksekusi, tak peduli ada error atau tidak.
Di antara tanda kurung pada catch(), kita membuat sebuah variable yang digunakan untuk mendeteksi error. Variable tersebut adalah variable e dengan class Exception. Class ini menampung error-error secara global. Jadi bila terjadi error apapun, pasti akan terdeteksi oleh variable ini.
Misalkan saja Anda hanya ingin menangkap error-error tertentu yang lebih spesifik, seperti mungkin error dalam penginputan (I/O) atau mungkin kesalahan pada saat melakukan query ke database, Anda bisa menggunakan subclass-subclass dari Exception ini, yang menampung error-error yang lebih spesifik, seperti class IOException atau SQLException.
Finally ini bersifat optional. Anda bisa menyertakannya, bisa juga tidak. Tetapi setiap try harus selalu diikuti oleh catch
Contoh Exception handling:
- Buka text editor Anda
- Masukkan script:
public class ExceptionHandlerSample {
public static void main(String[] args) {
System.out.println("Exception Test");
try{
int result = 5/0;
}
catch (Exception e){
System.out.println("Some error occured");
}
finally{
System.out.println("End of the Test");
}
}
}
- Simpan file tersebut dengan nama sesuai dengan nama class yang Anda buat. Dengan contoh di atas, maka nama file-nya adalah: ExceptionHandlerSample.java .Perhatikan pula capitalize-nya
- Lakukan kompilasi terhadap file tersebut di command prompt / terminal
Ketikkan:
javac ExceptionHandlerSample.java
- Kemudian jalankan class Anda
Ketikkan:
java ExceptionHandlerSample
(Perhatikan bahwa nama class tidak diikuti ekstensi apapun)
- Maka bila tidak terjadi kesalahan penulisan program, di layar akan muncul
Exception Test
Some error occured
End of the Test
Pada contoh di atas, catch menangkap sebuah Exception dalam blok try. Exception tersebut terjadi karena terjadi pembagian oleh angka nol (div by zero). Exception ini sebenarnya berada di dalam subclass dari class Exception, yaitu ArithmeticException. Tapi ditangkap oleh variable e yang bertipe Exception yang akan menangkap segala jenis Exception.
RiffAlmighty
----------
"Every man's life ends the same way. It is only the details of how he lived and
how he died that distinguish one man from another."
- Ernest Hemingway