Auf bestimmte Fehler mit switch reagieren
Verzweigen Sie je nach zurückgegebenem Fehler.
Auf bestimmte Fehler mit switch reagieren ist eine kostenlose Zig Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Zig Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Zig Academy-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
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. ✅
Häufig gestellte Fragen
Ist die Lektion „Auf bestimmte Fehler mit switch reagieren“ kostenlos?
Ja — der vollständige Text von „Auf bestimmte Fehler mit switch reagieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Zig Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Zig Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Auf bestimmte Fehler mit switch reagieren“?
Verzweigen Sie je nach zurückgegebenem Fehler. Du übst Zig Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Zig Academy zu starten?
Keine Vorkenntnisse erforderlich. Zig Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Auf bestimmte Fehler mit switch reagieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Zig Academy-Lektion Code schreiben und ausführen?
Ja. Jede Zig Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Mit catch Fehler behandeln
- Auf bestimmte Fehler mit switch reagieren
- errdefer für Bereinigung bei Fehlern
- Fehler wrappen und erneut auslösen