Zig Academy · Les

Afgeleide errorsets

Laat Zig uw fouten voor u verzamelen

Les 4 van 413 stappen

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. ✅

Gratis beginnen

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

  1. Errorsets en de !T-unie
  2. Fouten retourneren vanuit functies
  3. Mislukkingen doorgeven met try
  4. Afgeleide errorsets
← Terug naar Zig Academy