Exception Khusus dan rethrow
Mendefinisikan error yang bermakna dan melemparkannya kembali
Exception Khusus dan rethrow adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 4 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.
Kesalahan yang Bermakna
Pengecualian umum menyembunyikan maksud. custom exception menamai masalah yang tepat, sehingga kegagalan mudah dipahami di seluruh aplikasi Anda. 🏷️
Menerapkan Pengecualian
Buat class yang implements Exception. Dengan begitu, Dart dan pembaca langsung mengenalinya sebagai jenis kesalahan yang dapat dilempar.
class PaymentException implements Exception {}Membawa Pesan
Berikan field message pada pengecualian melalui konstruktornya agar penangan dapat membaca penyebabnya.
class PaymentException implements Exception {
final String message;
PaymentException(this.message);
}toString yang Ramah
Timpa toString agar saat pengecualian dicetak, yang tampil adalah kalimat yang jelas, bukan hanya nama class.
@override
String toString() => 'PaymentException: $message';Melempar Pengecualian Sendiri
Lempar pengecualian khusus seperti pengecualian bawaan. Gunakan throw dengan instans baru saat suatu aturan dilanggar.
throw PaymentException('Card declined');Menangkap Berdasarkan Jenis Anda
Tangkap pengecualian Anda dengan klausa on, seperti pada jenis bawaan, untuk menangani kasus tersebut secara khusus.
try {
pay();
} on PaymentException catch (e) {
print(e);
}Terkadang Anda Tidak Dapat Memperbaikinya
Penangan mungkin mencatat kesalahan tetapi tidak dapat menyelesaikannya. Alih-alih menelannya, Anda dapat meneruskannya dengan rethrow.
Kata Kunci rethrow
rethrow melempar kembali pengecualian saat ini dan mempertahankan jejak tumpukan aslinya, sehingga pemanggil dapat melihat tempat pengecualian benar-benar dimulai.
catch (e) {
log(e);
rethrow;
}rethrow Lebih Baik daripada throw e
Menulis throw e mengatur ulang jejak tumpukan; rethrow mempertahankannya. Selalu pilih rethrow saat melempar ulang dari dalam catch.
Catat Lalu Teruskan ke Atas
Pola umum: tangkap untuk log kegagalan, lalu gunakan rethrow agar lapisan yang lebih tinggi menentukan cara pemulihannya.
catch (e) {
logger.error(e);
rethrow;
}Menambahkan Field yang Berguna
Pengecualian khusus dapat menyimpan data tambahan seperti code atau nilai yang gagal, sehingga penangan memiliki konteks yang lebih lengkap untuk bertindak.
class ApiException implements Exception {
final int code;
ApiException(this.code);
}Pemeriksaan Singkat
Mengapa menggunakan rethrow, bukan throw e, di dalam catch?
Ringkasan
Sekarang Anda dapat membuat pengecualian bermakna yang menerapkan Exception, membawa data, dan menggunakan rethrow untuk meneruskan kegagalan dengan rapi. 🚀
Belajar Dart dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Exception Khusus dan rethrow” gratis?
Ya — teks lengkap “Exception Khusus dan rethrow” 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 “Exception Khusus dan rethrow”?
Mendefinisikan error yang bermakna dan melemparkannya kembali 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 4 dari 4.
Berapa lama pelajaran “Exception Khusus dan rethrow” 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
- throw, try, dan catch
- Klausa on dan Tipe Exception
- finally dan Pembersihan yang Terjamin
- Exception Khusus dan rethrow