← JavaScript44 / 69
try/catch pada async
Kode async yang gagal tanpa try/catch menghasilkan *unhandled rejection* — aplikasi bisa diam tanpa pesan, dan pengguna melihat layar kosong tanpa tahu apa yang terjadi. Pola produksi selalu: try untuk alur normal, catch untuk kegagalan, dan beri pesan yang bermanfaat. Ingat juga bahwa fetch tidak melempar error saat server membalas 404 atau 500, jadi periksa res.ok di dalam try sebelum memproses datanya.
👀 Contoh dulu
async function muat() {
try {
const res = await fetch('https://alamat-palsu-xyz.test/data');
const data = await res.json();
console.log(data);
} catch (error) {
console.log('Gagal memuat: ' + error.message);
} finally {
console.log('Loading dimatikan'); // selalu jalan
}
}
muat();Hasilnya: Gagal memuat: Failed to fetch Loading dimatikan
💡 finally selalu dijalankan, berhasil maupun gagal — di situlah tempat mematikan indikator loading.
📝 Sekarang giliranmu
Bungkus fetch ke URL yang tidak valid dengan try/catch, dan di catch tampilkan pesan error memakai error.message.
Preview