Afgeleide errorsets
Laat Zig uw fouten voor u verzamelen
Afgeleide errorsets is een gratis Zig Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Zig Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Zig Academy bevat in totaal 4 lessen.
Fouten opsommen is vervelend
Elke fout benoemen die een functie kan retourneren, kan een hele klus zijn, vooral wanneer de functie andere functies aanroept die kunnen mislukken. Zig kan de verzameling afleiden.
Laat de verzameling weg
Schrijf alleen !T, zonder iets vóór het uitroepteken. Zig onderzoekt de functie-body en bepaalt elke fout die de functie kan produceren.
fn parse(s: []const u8) !u32 {
// ...
}De compiler verzamelt ze
Elke try en elke geretourneerde fout in de body wordt automatisch verzameld in één afgeleide foutverzameling voor die functie.
if (s.len == 0) return error.Empty;De verzameling blijft correct
Voeg je later een nieuwe aanroep toe die kan mislukken, dan groeit de afgeleide verzameling om die aanroep op te nemen. Je vergeet nooit meer een handmatig geschreven lijst bij te werken.
Afleiding over aanroepen heen
Als je functie try gebruikt bij een andere aanroep die kan mislukken, worden de mogelijke fouten van die aangeroepen functie ook opgenomen in jouw afgeleide verzameling.
const f = try open(path);Expliciete verzamelingen blijven de beste keuze
Soms wil je een vast openbaar contract. Door de verzameling vóór ! te benoemen, verbied je elke fout erbuiten; afleiding doet dat niet.
fn load() FileError!Data {}De afweging in één regel
Afgeleide verzamelingen zijn handig en werken zichzelf bij; expliciete verzamelingen zijn precies en stabiel. Kies op basis van de vraag of het contract onveranderd moet blijven.
Inspecteren met @errorReturnTrace
Je kunt tijdens runtime nog steeds redeneren over fouten. In debug-builds houdt Zig een foutretourtracering bij die laat zien waar een fout is begonnen.
Ideaal voor interne hulpfuncties
Type-inferentie komt goed tot zijn recht bij private hulpfuncties waarvoor geen strikt openbare API nodig is. Laat Zig daar de administratie afhandelen.
Nog steeds volledig gecontroleerd
Of ze nu afgeleid of expliciet zijn, elke fout moet nog steeds door aanroepers worden afgehandeld. Inferentie bespaart typwerk, geen veiligheid; de compiler blijft streng.
Een pragmatische standaard
Veel Zig-functies gebruiken gewoon !T en laten de inferentie haar werk doen. Bewaar benoemde verzamelingen voor de grenzen die je wilt vastleggen.
Korte controle
Een functie is gedeclareerd met het retourtype !u32 en zonder foutverzameling vóór het uitroepteken. Wat doet Zig?
Samenvatting
Je hebt foutverzamelingen afgeleid via kale !T gezien, hoe ze meegroeien met de functie-inhoud en wanneer een expliciete verzameling de betere keuze is. ✅
Leer Zig met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Afgeleide errorsets” gratis?
Ja — de volledige tekst van “Afgeleide errorsets” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Zig Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Zig Academy bevat in totaal 4 lessen.
Wat leer ik in “Afgeleide errorsets”?
Laat Zig uw fouten voor u verzamelen Je oefent met Zig Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Zig Academy te beginnen?
Ervaring vooraf is niet nodig. Zig Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Afgeleide errorsets”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Zig Academy?
Ja. Elke les over Zig Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Errorsets en de !T-unie
- Fouten retourneren vanuit functies
- Mislukkingen doorgeven met try
- Afgeleide errorsets