0Pricing
Dart Academy · Pelajaran

Penanganan Error dalam Kode async

Menggunakan try/catch dengan await secara aman

Penanganan Error dalam Kode async adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Dart Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Dart Academy mencakup 4 pelajaran total.

Future Dapat Gagal

Pekerjaan async dapat mengalami masalah: server mengalami timeout atau file tidak ditemukan. Sebuah Future dapat selesai dengan error, bukan dengan nilai.

try dan catch dengan await

Bungkus await dalam try/catch, lalu future yang gagal akan melempar error tepat pada baris tersebut, seperti error synchronous biasa.

try {
  final data = await fetch();
} catch (e) {
  print("failed: $e");
}

Menangkap Tipe Tertentu

Gunakan klausa on untuk menangani satu jenis error secara tepat, sementara kegagalan lainnya tetap diteruskan tanpa perubahan.

try {
  await load();
} on TimeoutException {
  print("too slow");
}

Memeriksa Error

Tambahkan catch (e, s) untuk mengambil objek error dan stack trace-nya, sehingga proses debug kegagalan async menjadi jauh lebih mudah.

catch (e, s) {
  print(e);
  print(s);
}

finally Selalu Berjalan

Blok finally berjalan baik ketika await berhasil maupun ketika melempar error, sehingga blok ini tepat digunakan untuk menutup file atau menghentikan indikator pemuatan.

try {
  await save();
} finally {
  closeFile();
}

Melempar Error dari async

Gunakan throw di dalam fungsi async, lalu future yang dikembalikan akan selesai dengan error tersebut dan siap ditangkap oleh pemanggil.

Future<int> risky() async {
  throw StateError("nope");
}

Error dalam Rangkaian then

Tanpa await, pasang catchError pada future untuk menangani kegagalan dalam rangkaian bergaya then.

fetch().then(use).catchError(handle);

Memulihkan dengan Nilai Default

Dalam catchError atau catch, Anda dapat mengembalikan nilai fallback agar program tetap berjalan dengan baik setelah mengalami kegagalan.

Error Future yang Tidak Ditangani

Future yang gagal dan diabaikan menjadi error yang tidak tertangkap, yang dapat menyebabkan aplikasi berhenti atau mencatat pesan error besar-besaran. Selalu tangkap atau tunggu future Anda.

Melempar Ulang Saat Diperlukan

Gunakan rethrow di dalam catch untuk mencatat kegagalan di sini, tetapi tetap meneruskannya agar penangan luar juga dapat menanganinya.

catch (e) {
  log(e);
  rethrow;
}

await di dalam finally

Anda bahkan dapat menggunakan await di dalam finally untuk melakukan pembersihan async, seperti mengosongkan buffer, sebelum fungsi mengembalikan nilai.

Pemeriksaan Singkat

Pemeriksaan singkat tentang penangkapan error async.

Ringkasan: Error Async

Anda telah mempelajari cara melindungi await dengan try/catch, menargetkan tipe dengan on, melakukan pembersihan di finally, serta memulihkan atau melempar ulang error. 🛡️

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penanganan Error dalam Kode async” gratis?

Ya — teks lengkap “Penanganan Error dalam Kode async” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Dart Academy, upgrade ke CoddyKit PRO. Kursus Dart Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Penanganan Error dalam Kode async”?

Menggunakan try/catch dengan await secara aman Kamu berlatih Dart Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Dart Academy?

Tidak diperlukan pengalaman sebelumnya. Dart Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Penanganan Error dalam Kode async” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Dart Academy ini?

Ya. Setiap pelajaran Dart Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Event Loop dan Microtask
  2. Membuat dan Menunggu Future
  3. Penanganan Error dalam Kode async
  4. Future.wait dan Pekerjaan Paralel
← Kembali ke Dart Academy