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