Melakukan switch pada Kesalahan Tertentu
Buat percabangan berdasarkan kesalahan yang dikembalikan.
Melakukan switch pada Kesalahan Tertentu adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Not All Errors Are Equal
One fallback rarely fits every failure. A missing file and bad input often need different handling, so you want to branch by which error occurred.
Capture Then switch
Capture the error from catch, then feed it into a switch. Each case can respond to one specific error in its own way.
open(path) catch |err| switch (err) {
error.NotFound => create(path),
else => return err,
};Errors Are switch Values
An error like error.NotFound is a normal value, so switch matches it just like it matches an integer or an enum tag.
switch (err) {
error.Timeout => retry(),
error.Denied => reportDenied(),
}switch Must Be Exhaustive
A switch on an error must cover every possible error in the set. Zig refuses to compile if even one case is missing.
Cover the Rest with else
Add an else branch to catch any error you did not name. This keeps the switch exhaustive without listing every variant.
switch (err) {
error.NotFound => createDefault(),
else => return err,
}Each Arm Returns a Value
Because switch is an expression, every arm can produce a value. The whole catch then yields whatever the matching arm gives back.
const n = parse(s) catch |e| switch (e) {
error.Empty => 0,
else => -1,
};Group Errors with Commas
List several errors in one arm separated by commas when they share a response. This keeps related cases tidy and together.
switch (err) {
error.Timeout, error.Reset => retry(),
else => return err,
}Re-throw What You Cannot Handle
In an arm you can return the error to pass it upward. Handle the cases you understand and let the caller deal with the rest.
else => return err,Pair with try First
Often you try the common path and only switch on the errors that truly need custom logic, keeping the happy path clean.
Clarity Through Specificity
Switching on errors documents exactly which failures you expect. The reader sees each case and how your code reacts to it.
Compiler Has Your Back
Because the switch must be complete, adding a new error later forces you to handle it. Missed cases become build errors, not bugs.
Quick Check
You switch on a captured error but list only some variants. What does Zig require?
Recap
You captured an error and used switch to branch per error, group related cases, and re-throw the rest. The compiler keeps it complete. ✅
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Melakukan switch pada Kesalahan Tertentu” gratis?
Ya — teks lengkap “Melakukan switch pada Kesalahan Tertentu” 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 “Melakukan switch pada Kesalahan Tertentu”?
Buat percabangan berdasarkan kesalahan yang dikembalikan. 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 2 dari 4.
Berapa lama pelajaran “Melakukan switch pada Kesalahan Tertentu” 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