Memulihkan dengan catch
Sediakan cadangan saat terjadi kesalahan.
Memulihkan dengan catch adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 1 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 Zig Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Zig Academy mencakup 4 pelajaran total.
Error Memerlukan Rencana
Sebuah fungsi dapat mengembalikan gabungan error seperti !u32. Sebelum menggunakan hasilnya, Anda harus menentukan apa yang terjadi pada jalur kegagalan.
Kenali catch
Operator catch mengubah gabungan error menjadi nilai biasa dengan menyediakan nilai pengganti yang digunakan setiap kali pemanggilan mengembalikan error.
const n = parse(text) catch 0;Nilai Pengganti Menggantikan Error
Jika pemanggilan berhasil, Anda mendapatkan nilai sebenarnya. Jika terjadi error, Anda mendapatkan sisi kanan catch, sehingga n selalu menjadi angka yang dapat digunakan.
const n = parse(text) catch -1;catch Adalah Ekspresi
Karena catch menghasilkan nilai, Anda dapat menempatkannya langsung di mana pun nilai diperlukan, misalnya langsung sebagai argumen fungsi.
print(parse(text) catch 0);Tangkap Errornya
Tambahkan pipe capture untuk memeriksa apa yang salah. Nama di antara tanda garis tersebut menyimpan nilai error spesifik yang dikembalikan.
const n = parse(text) catch |err| {
log(err);
return 0;
};catch Dapat Menjalankan Blok
Sisi kanan catch dapat berupa satu blok penuh. Gunakan ini untuk mencatat, menghitung nilai pengganti, atau keluar dari perulangan sebelum melanjutkan.
const v = open(path) catch |e| blk: {
break :blk fallback;
};catch Dapat Mengembalikan Nilai Lebih Awal
Anda dapat menggunakan return dari dalam catch untuk meninggalkan fungsi saat pemulihan tidak mungkin dilakukan. Kode setelahnya tidak pernah dijalankan ketika terjadi error.
const f = open(path) catch return error.MissingFile;catch unreachable
Penulisan catch unreachable menyatakan bahwa pemanggilan tersebut tidak mungkin gagal. Dalam build aman, error nyata di sini memicu panic, bukan diabaikan.
const n = parse("42") catch unreachable;Gunakan unreachable dengan Hati-Hati
Gunakan catch unreachable hanya ketika error benar-benar mustahil terjadi. Jika Anda tidak yakin, berikan nilai pengganti yang sebenarnya.
catch vs try
Gunakan catch ketika Anda dapat menangani error di sini dan saat ini. Gunakan try ketika Anda lebih memilih meneruskan error tersebut kepada pemanggil.
Pemulihan Harus Eksplisit
Setiap gabungan error memaksa Anda memilih tindakan, sehingga kegagalan tidak pernah dapat terlewat secara diam-diam. Dengan catch, Anda menentukan tepatnya cara melakukan pemulihan.
Pemeriksaan Singkat
Anda ingin melanjutkan dengan nilai bawaan yang aman ketika pemanggilan gagal. Ekspresi mana yang sesuai?
Ringkasan
Anda menggunakan catch untuk memulihkan diri dari error dengan nilai pengganti, blok, pengembalian lebih awal, atau pernyataan. Kegagalan selalu ditangani secara sengaja. ✅
Belajar Zig 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 “Memulihkan dengan catch” gratis?
Ya — teks lengkap “Memulihkan dengan catch” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Zig Academy, upgrade ke CoddyKit PRO. Kursus Zig Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Memulihkan dengan catch”?
Sediakan cadangan saat terjadi kesalahan. Kamu berlatih Zig 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 Zig Academy?
Tidak diperlukan pengalaman sebelumnya. Zig 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 1 dari 4.
Berapa lama pelajaran “Memulihkan dengan catch” 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 Zig Academy ini?
Ya. Setiap pelajaran Zig 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
- Memulihkan dengan catch
- Melakukan switch pada Kesalahan Tertentu
- errdefer untuk Pembersihan saat Gagal
- Membungkus dan Melempar Ulang Kesalahan