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
- Event Loop dan Microtask
- Membuat dan Menunggu Future
- Penanganan Error dalam Kode async
- Future.wait dan Pekerjaan Paralel