Schakelen op specifieke fouten
Vertak op basis van de geretourneerde fout
Schakelen op specifieke fouten is een gratis Zig Academy-les op CoddyKit. Dit is les 2 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.
Niet alle fouten zijn gelijk
Eén terugvalwaarde past zelden bij elke fout. Een ontbrekend bestand en ongeldige invoer vereisen vaak een verschillende afhandeling, dus je wilt vertakken op basis van de opgetreden fout.
Vastleggen en daarna switch
Leg de fout uit catch vast en geef deze vervolgens door aan een switch. Elke case kan op zijn eigen manier reageren op één specifieke fout.
open(path) catch |err| switch (err) {
error.NotFound => create(path),
else => return err,
};Fouten zijn switch-waarden
Een fout zoals error.NotFound is een gewone waarde. Daarom vergelijkt switch deze net als een geheel getal of een enum-label.
switch (err) {
error.Timeout => retry(),
error.Denied => reportDenied(),
}switch moet volledig zijn
Een switch op een fout moet elke mogelijke fout in de verzameling afdekken. Zig weigert te compileren als er ook maar één case ontbreekt.
Dek de rest af met else
Voeg een else-vertakking toe om elke fout op te vangen die je niet bij naam hebt genoemd. Zo blijft switch volledig zonder elke variant op te sommen.
switch (err) {
error.NotFound => createDefault(),
else => return err,
}Elke arm retourneert een waarde
Omdat switch een expressie is, kan elke arm een waarde opleveren. De volledige catch levert vervolgens op wat de overeenkomende arm retourneert.
const n = parse(s) catch |e| switch (e) {
error.Empty => 0,
else => -1,
};Groepeer fouten met komma's
Vermeld meerdere fouten in één arm, gescheiden door komma's, wanneer ze dezelfde reactie delen. Zo blijven verwante cases overzichtelijk en bij elkaar.
switch (err) {
error.Timeout, error.Reset => retry(),
else => return err,
}Retourneer fouten die je niet kunt afhandelen opnieuw
In een arm kun je de fout met return doorgeven naar boven. Handel de cases af die je begrijpt en laat de aanroeper de rest afhandelen.
else => return err,Combineer eerst met try
Vaak gebruik je try voor het normale pad en schakel je alleen over op de fouten die echt aangepaste logica nodig hebben. Zo blijft het geslaagde pad overzichtelijk.
Duidelijkheid door specificiteit
Door op fouten te schakelen, leg je precies vast welke fouten je verwacht. De lezer ziet elke case en hoe je code daarop reageert.
De compiler helpt je
Omdat de switch volledig moet zijn, dwingt een later toegevoegde fout je om deze af te handelen. Vergeten cases worden buildfouten, geen bugs.
Korte controle
Je schakelt op een vastgelegde fout, maar vermeldt slechts enkele varianten. Wat vereist Zig?
Samenvatting
Je hebt een fout vastgelegd en switch gebruikt om per fout te vertakken, verwante cases te groeperen en de rest opnieuw te retourneren. De compiler houdt de code volledig. ✅
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 “Schakelen op specifieke fouten” gratis?
Ja — de volledige tekst van “Schakelen op specifieke fouten” 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 “Schakelen op specifieke fouten”?
Vertak op basis van de geretourneerde fout 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 2 van 4.
Hoe lang duurt de les “Schakelen op specifieke fouten”?
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
- Herstellen met catch
- Schakelen op specifieke fouten
- errdefer voor opruimen na fouten
- Fouten wrappen en opnieuw gooien