Mojo Academy · Les

De raises-annotatie

Markeer functies die kunnen mislukken

Les 3 van 413 stappen

De raises-annotatie is een gratis Mojo Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Mojo Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Mojo Academy bevat in totaal 4 lessen.

Eerlijk over mislukking

Mojo wil dat functies eerlijk aangeven of ze kunnen mislukken. Het sleutelwoord raises markeert een functie die mogelijk een fout opwerpt. 📣

raises toevoegen

Zet raises direct na de lijst met argumenten. Het vertelt aanroepers dat deze functie niet altijd kan slagen.

fn parse(text: String) raises -> Int:
    ...

def kan altijd een fout opwerpen

Een flexibele functie met def kan een fout opwerpen zonder annotatie. Mojo behandelt def standaard als een functie die kan mislukken.

def load(name: String):
    raise Error("missing")

fn moet het aangeven

Een strikte functie met fn kan geen fout opwerpen tenzij je raises toevoegt. Zo wordt mislukking expliciet en gemakkelijk te herkennen.

fn safe(x: Int) -> Int:
    return x + 1

Een functie aanroepen die een fout opwerpt

Als je iets aanroept dat met raises is gemarkeerd, moet je de fout afhandelen, meestal binnen een try-blok.

try:
    var n = parse("42")
except e:
    print(e)

Fouten worden via raises doorgegeven

Als een functie die fouten kan opwerpen binnen een andere raises-functie wordt aangeroepen, wordt de fout zonder try gewoon naar boven doorgegeven.

Zonder raises betekent veilig

Een functie zonder raises belooft dat ze geen fout opwerpt. Aanroepers kunnen haar vrij gebruiken zonder try-blokken.

De compiler controleert je code

De compiler van Mojo weigert een raise binnen een fn die geen fouten mag opwerpen. Zo worden tegenstrijdigheden gevonden voordat je programma ooit draait.

Code die zichzelf documenteert

Het sleutelwoord raises werkt als levende documentatie. Aan de handtekening zie je in één oogopslag of een aanroep kan mislukken.

Houd het oppervlak klein

Markeer alleen functies die echt kunnen mislukken met raises. Minder functies die fouten kunnen opwerpen betekent eenvoudigere en veiligere aanroepen.

raises en retourtypen

Je combineert raises met een normaal retourtype. De functie retourneert een waarde bij succes of werpt een fout op bij mislukking.

fn divide(a: Int, b: Int) raises -> Int:
    if b == 0:
        raise Error("divide by zero")
    return a // b

Korte controle

Denk na over hoe fn en het sleutelwoord raises samenwerken.

Samenvatting

Je hebt geleerd dat raises aangeeft dat een functie kan mislukken, dat def altijd een fout kan opwerpen terwijl fn hiervoor moet kiezen, en dat de compiler dit afdwingt. 🎯

Gratis beginnen

Leer Mojo 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 “De raises-annotatie” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Mojo Academy, waaronder “De raises-annotatie”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Mojo Academy bevat in totaal 4 lessen.

Wat leer ik in “De raises-annotatie”?

Markeer functies die kunnen mislukken Je oefent met Mojo 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 Mojo Academy te beginnen?

Ervaring vooraf is niet nodig. Mojo 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 3 van 4.

Hoe lang duurt de les “De raises-annotatie”?

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 Mojo Academy?

Ja. Elke les over Mojo 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. Een fout opwerpen
  2. Afhandelen met try/except
  3. De raises-annotatie
  4. Opruimen met finally
← Terug naar Mojo Academy