Tutorial Dasar Exception Handling (try-catch) Pada Java
Assalamualaikum Warahmatullahi Wabarakatuh.
Pada tutorial kali ini, saya akan membagikan tutorial mengenai teknik penanganan kondisi dimana program mengalami crash atau error saat dijalankan pada bahasa pemrograman java, teknik tersebut dinamakan Exception Handling.
A. Apa Itu Exception ?
Exception adalah sebuah alur peristiwa yang menjalankan proses pada program, pristiwa tersebut bisa berupa kesalahan atau error pada program yang kita buat, error tersebut bisa terjadi karena beberpa faktor, diantaranya: kesalahan input, jenis format data yang dimasukan salah, peggunaan array yang melebihi batas, Dll.
Ada banyak sekali jenis Exception yang bisa kita tangkap menggunakan fungsi try-catch, salah satunya adalah ArrayIndexOutOfBoundsException, exception ini menandakan bahwa jumlah array yang kita inputkan melebihi batas, pesan tersebut akan muncul saat aplikasi dijalankan yang akan menyebabkan terhentinya program tersebut.
B. Statement try-catch
Bagaimana cara kita mengetahui jenis error atau exception apa yang muncul, pada contoh berikut ini kita akan membuat program sederhana, dimana program tersebut sengaja kita buat menjadi error atau terjadi kesalahan.
Exception adalah sebuah alur peristiwa yang menjalankan proses pada program, pristiwa tersebut bisa berupa kesalahan atau error pada program yang kita buat, error tersebut bisa terjadi karena beberpa faktor, diantaranya: kesalahan input, jenis format data yang dimasukan salah, peggunaan array yang melebihi batas, Dll.
Ada banyak sekali jenis Exception yang bisa kita tangkap menggunakan fungsi try-catch, salah satunya adalah ArrayIndexOutOfBoundsException, exception ini menandakan bahwa jumlah array yang kita inputkan melebihi batas, pesan tersebut akan muncul saat aplikasi dijalankan yang akan menyebabkan terhentinya program tersebut.
B. Statement try-catch
Bagaimana cara kita mengetahui jenis error atau exception apa yang muncul, pada contoh berikut ini kita akan membuat program sederhana, dimana program tersebut sengaja kita buat menjadi error atau terjadi kesalahan.
public class exception_example {
public static void main(String[] args) {
int angka = 7;
int hasil = angka/0;
System.out.println(hasil);
}
}
Program tersebut akan menghasilkan, output berupa kesalahan seperti ini:
Jenis Exception yang tampil pada program tersebut adalah ArithmeticException, error tersebut terjadi karena ada pembagian 0 (nol), jika hal ini terjadi, user akan kebingungan dengan error tersebut serta menyebabkan force close.
Baca Juga:
- Penggunaan Operator Kondisi (?:) Pada Java
- Penggunaan dan Macam-macam Variable Pada Java
- Tutorial Looping (while, do-while, for loops) Pada Java
Untuk mengatasi masalah tersebut, kita dapat menggunakan statement try-catch, seperti pada contoh berikut ini:
public class exception_example {
public static void main(String[] args) {
try{
// pernyataan yang berpotensi mengakibatkan Exception
int angka = 7;
int hasil = angka/0;
System.out.println(hasil);
}catch(ArithmeticException ex){
// pernyataan disini akan di eksekusi jika terjadi Exception
System.out.println("Tidak Boleh Menggunakan Pembagian dengan 0 (nol)");
}
}
}
Setiap pernyataan yang dapat mengakibatkan exception harus berada didalam try, karena untuk menangani dimana munculnya kesalahan yang ingin di proses, catch digunakan untuk menagani jenis exception, kesalahan yang muncul akan dianggap sebagai objek.
Untuk contoh yang kedua, kita akan membuat variable array dengan jumlah data yang sudah ditentukan, program akan menagkap dan mencetak exception jika kita memanggi value di luar batas array tersebut.
public class exception_example {
public static void main(String[] args) {
try{
// pernyataan yang berpotensi mengakibatkan Exception
String[] siswa = new String[2];
siswa[0] = "Wildan";
siswa[1] = "Ferdi";
siswa[2] = "Taufiq";
System.out.println(siswa[4]);
}catch(ArrayIndexOutOfBoundsException ex){
// pernyataan disini akan di eksekusi jika terjadi Exception
System.out.println("Data Array Yang Ingin Dikeluarkan Tidak Ada");
}
}
}
C. Multiple catch
Dalam bahasa pemrograman java, kita dapat menggunakan catch lebih dari satu, untuk menangkap jenis exception yang berbeda pada pernyataan didalam try.
Pada contoh berikut ini, kita akan menggabungkan kedua program yang sebelumnya sudah kita buat menjadi satu, didalam program tersebut kita akan menangkap 2 jenis exception yang berbeda, yaitu ArithmeticException dan ArrayIndexOutOfBoundsException.
public class exception_example {
public static void main(String[] args) {
try{
String[] siswa = new String[2];
siswa[0] = "Wildan";
siswa[1] = "Ferdi";
siswa[2] = "Taufiq";
System.out.println(siswa[4]);
//====================================
int angka = 7;
int hasil = angka/0;
System.out.println(hasil);
}catch(ArrayIndexOutOfBoundsException ex){
System.out.println("Data Array Yang Ingin Dikeluarkan Tidak Ada");
}catch(ArithmeticException ex2){
System.out.println("Tidak Boleh Menggunakan Pembagian dengan 0 (nol)");
}
}
}
Program akan memeriksa catch ArrayIndexOutOfBoundsException terlebih dahulu apakah ditemukan exception jenis ini di dalam try, jika iya, maka akan mengeluarkan pernyataan didalamnya, dan jika tidak, program akan memeriksa catch kedua yaitu ArithmeticException.
Jadi program tidak akan mengeluarkan output pada kedua catch tersebut secara bersamaan, walaupun ditemukan 2 jenis error didalam try, jenis exception paling atas dulu yang akan di tampilkan.
D. Finally
Statement finally digunakan untuk mengeksekusi kode program jika terjadi exception atau tidak terjadi exception, jadi blok kode didalamnya akan terus di eksekusi pada kondisi apapun.
public class exception_example {
public static void main(String[] args) {
try{
// pernyataan yang berpotensi mengakibatkan Exception
int angka = 10;
int hasil = angka/0;
System.out.println(hasil);
}catch(ArithmeticException ex){
// pernyataan disini akan di eksekusi jika terjadi Exception
System.out.println("Tidak Boleh Menggunakan Pembagian dengan 0 (nol)");
}finally{
/*
Pernyataan disini akan di eksekusi jika terjadi Exception
Ataupun tidak terjadi Exception
*/
System.out.println("Program Diakhiri");
}
}
}
Hasilnya akan seperti ini:
Sekian tutorial yang kali ini saya bagikan, mohon maaf bila kesalahan, jika ada yang ingin kalian tanyakan silakan isi komentar dibawah, terakhir dari saya, Wassalamualaikum Warahmatullahi Wabarakatuh.