Study
Dart

Exception Handling di Dart (Try/Catch)

Penjelasan

Exception handling di Dart memakai try/catch, sintaksnya mirip Java/JavaScript. Blok finally (opsional) selalu dijalankan baik terjadi error maupun tidak, biasa dipakai untuk membersihkan resource. Dart membedakan Exception (situasi yang bisa diantisipasi, mis. FormatException) dan Error (bug programming, mis. RangeError).

Contoh Konsep

double bagi(int a, int b) {
  if (b == 0) {
    throw ArgumentError("Tidak bisa membagi dengan nol.");
  }

  return a / b;
}

void main() {
  try {
    print(bagi(10, 0));
  } on ArgumentError catch (e) {
    print("Error: ${e.message}");
  } finally {
    print("Selesai dicoba.");
  }
}

Praktikum

Buat fungsi ambilElemen(List<int> data, int index) yang melempar RangeError kalau index di luar jangkauan data. Panggil di dalam try/catch dengan index yang sengaja tidak ada, lalu tampilkan pesan errornya.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Pakai on JenisException catch (e) kalau kamu tahu jenis exception spesifik yang mau ditangkap, atau catch (e) saja (tanpa on) kalau ingin menangkap SEMUA jenis error — tapi sebaiknya selalu spesifik supaya tidak diam-diam menutupi bug lain yang tidak terduga.