Mengenal Exception Handling di Java: Cara Mengatasi Error saat Program Berjalan
Dalam pemrograman Java, kesalahan atau error umumnya ditangani pada saat program dikompilasi (compile-time). Namun, tidak semua kesalahan dapat terdeteksi pada tahap tersebut. Banyak kesalahan justru terjadi sewaktu program sedang dijalankan (runtime). Untuk mengatasi kesalahan yang muncul saat eksekusi tersebut, Java menyediakan fitur yang disebut Penanganan Eksepsi atau Exception Handling.
Apa Itu Exception Handling?
Exception Handling adalah mekanisme Java untuk "melontarkan" (throw) suatu eksepsi sekiranya terdapat kesalahan pada saat program dijalankan. Tanpa penanganan ini, program akan berhenti secara paksa saat menemukan kesalahan, seperti pembagian dengan angka nol.
Manfaat utama dari penanganan eksepsi adalah:
- Pemisahan Kode: Menangani kesalahan dengan menuliskan kode penanganan yang terpisah dari kode logika utama.
- Kondisi Tidak Normal: Mampu menangani berbagai jenis kondisi program yang tidak normal agar tetap berjalan stabil.
Struktur Menangkap Eksepsi
Agar kesalahan dapat dikendalikan dan tidak menghentikan program, eksepsi perlu "ditangkap" menggunakan pernyataan try. Terdapat dua bentuk utama dalam penggunaannya:
1. Bentuk Try-Catch
Bentuk ini digunakan untuk menangkap eksepsi dan menentukan apa yang harus dilakukan jika kesalahan tersebut terjadi.
try: Berisi blok kode yang mungkin mengakibatkan eksepsi.catch: Berisi kode yang akan dijalankan hanya jika terjadi eksepsi. Parameter dalamcatchberupa nama kelas penanganan eksepsi (sepertiThrowableatauException) diikuti nama parameternya
Contoh Kasus (Pembagian Nol):
class bagiNol_2 {
public static void main(String args[]) {
System.out.println("Sebelum pembagian...");
try {
System.out.println(5 / 0); // Potensi error: ArithmeticException
} catch (Throwable t) {
System.out.println("Terjadi pembagian nol");
}
System.out.println("Sesudah pembagian...");
}
}2. Bentuk Try-Finally
Bentuk ini menyertakan blok finally yang akan selalu dijalankan, terlepas dari apakah blok try mengalami eksepsi atau tidak.
finally: Blok kode yang akan dijalankan terakhir kali sebagai penutup, biasanya digunakan untuk proses pembersihan (cleanup).
Contoh Penggunaan Finally:
try {
// kode yang mungkin mengakibatkan eksepsi
} finally {
// blok kode yang akan dijalankan terakhir kali
}Kesimpulan
Exception Handling adalah jaring pengaman bagi program Java Anda agar tidak langsung crash saat menghadapi situasi tidak terduga, seperti input yang salah atau operasi matematika yang tidak valid. Dengan menggunakan blok try, catch, dan finally, Anda dapat membuat aplikasi yang lebih tangguh dan mudah didebug.
Tantangan: Cobalah modifikasi program bagiNol di atas. Tambahkan input dari pengguna menggunakan Scanner dan tangkap eksepsi jika pengguna memasukkan karakter huruf, padahal program meminta angka!
