Stacktraces lezen
Traceer fouten terug naar hun bron.
Stacktraces lezen is een gratis JavaScript Academy-les op CoddyKit. Dit is les 4 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 JavaScript Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus JavaScript Academy bevat in totaal 4 lessen.
Wat is een stacktrace
Een stacktrace is de lijst met functieaanroepen die actief waren op het moment dat een fout optrad. De stacktrace toont de route die het programma naar de fout heeft afgelegd.
Van boven naar beneden lezen
Het bovenste frame van een stacktrace is de plek waar de fout werd gegenereerd. Elke regel eronder toont de aanroeper, helemaal terug tot het oorspronkelijke startpunt van het programma.
De opbouw van een frame
Elk frame vermeldt meestal een functie en daarna het bestand, regelnummer en de kolom waar de aanroep plaatsvond. Zo wordt de exacte locatie aangewezen.
De foutmelding
Boven de frames staan de foutnaam en foutmelding, bijvoorbeeld een TypeError die beschrijft wat er misging. Lees dit eerst: het verklaart vaak de oorzaak.
function getName(user) {
return user.name
}
// calling getName with undefined would throw a TypeError
console.log("Reading the message tells you what failed")De aanroepketen volgen
Door naar beneden te lezen reconstrueer je de volgorde: welke functie welke andere functie aanriep, tot aan de regel waar het misging.
Je code versus bibliotheekcode
Stacktraces bevatten vaak frames uit bibliotheken. Richt je op het bovenste frame dat bij je eigen bronbestanden hoort, want daar bevindt zich meestal de oplossing.
Asynchrone stacktraces
Moderne DevTools voegt asynchrone aanroepen samen en toont de oorspronkelijke context van een promise of timer. Zo wordt de stacktrace niet afgebroken bij de overgang.
Handmatig een stacktrace genereren
console.trace drukt de huidige aanroepstack af zonder een fout te genereren. Zo kun je zien hoe een functie is bereikt.
function inner() {
console.trace("reached inner")
}
function outer() {
inner()
}
outer()De stack-eigenschap van Error
Een Error-object bevat een stack-eigenschap met de stacktrace als tekst. Die kun je loggen of naar een dienst voor foutrapportage sturen.
const err = new Error("Something failed")
console.log(typeof err.stack)Geminimaliseerde code en source maps
Productiecode is vaak geminimaliseerd, waardoor stacktraces onduidelijk worden. Source maps vertalen geminimaliseerde posities terug naar je oorspronkelijke bestanden, zodat stacktraces leesbaar worden.
Van stacktrace naar oplossing
Combineer de foutmelding, het bovenste frame uit je eigen code en het regelnummer om de fout te lokaliseren. Bekijk daarna de variabelen op die plek om de oorzaak te bevestigen.
Korte controle
Test je kennis van stacktraces.
Samenvatting
Samenvatting: Stacktraces tonen de route naar een fout.
- Het bovenste frame is de plek waar de fout werd gegenereerd
- Lagere frames zijn de aanroepers
- Richt je op het bovenste frame in je eigen code
- Source maps maken geminimaliseerde stacktraces leesbaar
const err = new Error("fail")
console.log(typeof err.stack)Leer JavaScript 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
- 59
- Lessen
- 200
Veelgestelde vragen
Is de les “Stacktraces lezen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad JavaScript Academy, waaronder “Stacktraces lezen”, 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 JavaScript Academy bevat in totaal 4 lessen.
Wat leer ik in “Stacktraces lezen”?
Traceer fouten terug naar hun bron. Je oefent met JavaScript 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 JavaScript Academy te beginnen?
Ervaring vooraf is niet nodig. JavaScript 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 “Stacktraces lezen”?
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 JavaScript Academy?
Ja. Elke les over JavaScript 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.