Java Basic – Simple Exception Handling

Ngoding, panjang-panjang, test run, baru sampe input, runtime error alias nge-break gara-gara type data variable inputnya integer tapi diisi character…wkwk… Akhirnya buat validasi dah pake fungsi isDigit atau pattern matcher. Kelar kasus pertama bab input. run lagi, njritt error lagi, pas read file, ternyata filenya nggak ketemu. Duhhhh…. masak iya ini program kena error dikit terus nge-break??!!

Nah disinilah peran Exception Handling alias Error Handling, jadi ketika program pas runtime, error, dia kan biasanya akan nge-break, alias program crash, berhenti, hancur…. bisa kita lempar nih ketika terjadi error kita kasih action apa, dan program bisa terus berlanjut, tanpa nge-break. Kalau bahasa bakunya “Exception Handling adalah mekanisme penanganan error pada suatu program supaya proses dapat terus berlanjut walau ketemu error ketika runtime”.

Contohnya potongan pada kisah diatas, misal ada variable int umur, type data integer, input harus angka dong, kalau diinput char atau string maka akan error, dan program akan berhenti, alias crash, alias break seperti dibawah ini (umur diinput kuda) :

error

Nah dengan Exception Handling maka ketika terjadi error seperti diatas akan “ditangkap” oleh fungsi catch lalu setelah itu kita bisa juga melakukan sesuatu, misal jika input error akan dimunculkan pesan “input harus angka”. Contoh seperti dibawah :

no error

Nah, cara nulisnya gimana : pake try …. catch šŸ™‚

try {
.......... doing something here ....
} catch (kind of exception) {
....... action if exception occur....
}

Misal kalau contoh buat input dan validasi input umur diatas seperti ini nih :

Scanner in = new Scanner(System.in);
int umur, test;
 void inputUmur() {
 test = 0;
 do {
 try {
 System.out.print("Input Umur [18..50] : ");
 umur = in.nextInt();
 in.nextLine();
 if(umur<18 || umur>50)
 {
 System.out.println("Input must be number 18-50");
 }
 } catch (Exception e) {
 test += 1;
 if (test > 3) {
 System.out.println("Input harus 'Angka' kampret!!");
 } else {
 System.out.println("Input must be number, no char, symbol cem macem!");
 }
 in.nextLine();
 }
 } while (umur < 18 || umur > 50);
}

Kalo ga percaya coba aja baris dan blok code try catchnya di hapus…error dah.. Lalu ada lagi yang namanya Throw…. apakah itu?? nanti deh, lain kali coba bahas lagi šŸ˜€

Komen dimari gann....

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s