Stacktraces lezen
Leer stacktraces lezen om Java-programma's effectief te debuggen.
Stacktraces lezen is een gratis Java Academy-les op CoddyKit. Dit is les 3 van 3. 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 Java Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Java Academy bevat in totaal 3 lessen.
Introductie
Als een uitzondering niet wordt opgevangen, drukt Java een stacktrace af. Daarin staan het type fout en de keten van methodeaanroepen die ernaartoe heeft geleid.
Opmaak van een stacktrace
Een stacktrace bevat meestal:
- Eerste regel: het type uitzondering en de melding.
- Volgende regels: methoden en bestand:regel waar de fout doorheen is gegaan.
Code: niet-opgevangen uitzondering
Deze niet-opgevangen NullPointerException drukt een stacktrace af met het pad via methodA → methodB → main.
public class Main {
static void methodA() {
methodB();
}
static void methodB() {
String s = null;
System.out.println(s.length()); // NullPointerException
}
public static void main(String[] args) {
methodA();
}
}
Regels lezen
Elke regel van een stacktrace bevat de klasse, methode en het regelnummer in de broncode. Als je van boven naar beneden leest, zie je waar de fout is opgetreden en hoe deze is doorgegeven.
Code: buiten de grenzen
Dit drukt ArrayIndexOutOfBoundsException af met het exacte regelnummer, zodat je de fout gemakkelijker kunt vinden.
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3};
System.out.println(nums[5]); // ArrayIndexOutOfBoundsException
}
}
Code: printStackTrace
Je kunt ook binnen catch printStackTrace() aanroepen om de stacktrace voor foutopsporing te tonen en de uitvoering voort te zetten.
public class Main {
static void risky() {
throw new RuntimeException("Custom message");
}
public static void main(String[] args) {
try {
risky();
} catch (RuntimeException e) {
e.printStackTrace(); // print custom trace
}
}
}
Controle van een stacktrace
Snelle controle: wat toont de bovenste regel van een stacktrace meestal?
Samenvatting
Samenvatting: stacktraces tonen het type uitzondering en het pad van methodeaanroepen. Als je ze leest, kun je snel fouten opsporen door de foutregel te vinden.
Leer Java 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
- 104
- Lessen
- 374
Veelgestelde vragen
Is de les “Stacktraces lezen” gratis?
Ja — de volledige tekst van “Stacktraces lezen” 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 Java Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Java Academy bevat in totaal 3 lessen.
Wat leer ik in “Stacktraces lezen”?
Leer stacktraces lezen om Java-programma's effectief te debuggen. Je oefent met Java 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 Java Academy te beginnen?
Ervaring vooraf is niet nodig. Java 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 3.
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 Java Academy?
Ja. Elke les over Java 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
- try/catch/finally
- Checked versus unchecked
- Stacktraces lezen