
Dalam pengembangan aplikasi, kesalahan (error) adalah hal yang tak terelakkan. Namun, perbedaan antara aplikasi yang bagus dan yang buruk terletak pada bagaimana aplikasi tersebut menangani kegagalan.
Blok try...catch adalah mekanisme utama dalam JavaScript untuk menangani pengecualian (exceptions). Tanpa ini, satu kesalahan kecil saja bisa menghentikan seluruh proses eksekusi kode (membuat aplikasi "mati" atau crash).
1. Struktur Dasar try...catch
Struktur ini terdiri dari dua blok utama:
-
try: Di sini Anda menulis kode yang berisiko menimbulkan error (misalnya: mengambil data dari server atau memproses input user). -
catch: Jika terjadi error di dalam bloktry, eksekusi kode akan langsung "loncat" ke blok ini. Aplikasi tidak akan berhenti.
try { // Kode yang mungkin bermasalah const hasil = 10 / angkaBelumAda; console.log(hasil);
} catch (error) { // Apa yang harus dilakukan jika terjadi error console.error("Oops, terjadi kesalahan: " + error.message);
} console.log("Aplikasi tetap berjalan...");
2. Kenapa Ini Penting?
Tanpa try...catch, jika baris ke-2 pada contoh di atas error, baris terakhir (console.log("Aplikasi tetap berjalan...")) tidak akan pernah dieksekusi. Dengan try...catch, Anda memberikan "jaring pengaman".
3. Objek Error
Saat blok catch dijalankan, JavaScript memberikan sebuah objek yang berisi informasi tentang kesalahan tersebut. Properti yang paling sering digunakan adalah:
-
error.name: Jenis error (contoh:ReferenceError,TypeError). -
error.message: Pesan penjelasan tentang error tersebut. -
error.stack: Jejak urutan fungsi yang menyebabkan error (sangat berguna untuk debugging).
4. Melengkapi dengan finally
Ada satu blok tambahan yang bersifat opsional, yaitu finally. Blok ini akan selalu dijalankan, baik kode di dalam try berhasil maupun gagal (error).
Biasanya digunakan untuk kegiatan "bersih-bersih", seperti menutup koneksi database atau mematikan indikator loading di layar.
try { console.log("Membuka database..."); // simulasi error throw new Error("Koneksi gagal");
} catch (err) { console.error("Menangani error: " + err.message);
} finally { console.log("Menutup database (selalu dilakukan)");
}
5. Kapan Harus Menggunakan try...catch?
Anda tidak perlu membungkus semua baris kode dengan try...catch. Gunakanlah pada situasi yang berada di luar kendali langsung Anda, seperti:
-
Operasi Jaringan/API: Mengambil data dari server yang mungkin sedang down.
-
Parsing JSON: Mengubah string menjadi objek (jika format string salah, akan error).
-
Input Pengguna: Mengolah data yang dimasukkan user secara manual.
-
File System: Membaca file yang mungkin tidak ada atau terkunci.
Tips Pro:
Jangan membiarkan blok catch kosong (dikenal dengan istilah swallowing error). Minimal, berikan console.error agar Anda tahu ada sesuatu yang salah saat sedang melakukan perbaikan kode di masa depan.