Abgeleitete Fehlermengen
Lassen Sie Zig Ihre Fehler automatisch sammeln.
Abgeleitete Fehlermengen ist eine kostenlose Zig Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.
Listing Errors Is Tedious
Naming every error a function might return can be a chore, especially when it calls other fallible functions. Zig can infer the set.
Leave the Set Off
Write just !T with nothing before the bang. Zig studies the function body and figures out every error it can produce.
fn parse(s: []const u8) !u32 {
// ...
}The Compiler Collects Them
Each try and each returned error inside the body is gathered automatically into one inferred error set for that function.
if (s.len == 0) return error.Empty;It Stays Accurate
Add a new failing call later and the inferred set grows to include it. You never forget to update a hand-written list.
Inference Across Calls
If your function uses try on another fallible call, that callee's possible errors are folded into your inferred set as well.
const f = try open(path);Explicit Sets Still Win
Sometimes you want a fixed public contract. Naming the set before ! forbids any error outside it, which inference will not do.
fn load() FileError!Data {}Trade-Off in One Line
Inferred sets are convenient and self-updating; explicit sets are precise and stable. Pick by whether the contract must stay frozen.
Inspect with @errorReturnTrace
You can still reason about errors at runtime. In debug builds Zig keeps an error return trace showing where a failure began.
Great for Internal Helpers
Inference shines on private helper functions where a strict public API is not needed. Let Zig handle the bookkeeping there.
Still Fully Checked
Inferred or explicit, every error must still be handled by callers. Inference saves typing, not safety; the compiler stays strict.
A Pragmatic Default
Many Zig functions simply use !T and let inference work. Reserve named sets for the boundaries you want to lock down.
Quick Check
A function is declared with the return type !u32 and no error set before the bang. What does Zig do?
Recap
You saw inferred error sets via bare !T, how they grow with the body, and when an explicit set is the better choice. ✅
Häufig gestellte Fragen
Ist die Lektion „Abgeleitete Fehlermengen“ kostenlos?
Ja — der vollständige Text von „Abgeleitete Fehlermengen“ 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 „Abgeleitete Fehlermengen“?
Lassen Sie Zig Ihre Fehler automatisch sammeln. 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 4 von 4.
Wie lange dauert die Lektion „Abgeleitete Fehlermengen“?
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
- Fehlermengen und die !T-Union
- Fehler aus Funktionen zurückgeben
- Fehler mit try weiterreichen
- Abgeleitete Fehlermengen