Läsa stack traces
Lär er läsa stack traces för att effektivt felsöka Java-program.
Läsa stack traces är en gratis lektion i Java Academy på CoddyKit. Detta är lektion 3 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Java Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Java Academy innehåller totalt 3 lektioner.
Introduktion
När ett undantag inte fångas skriver Java ut en stack trace. Den visar feltypen och kedjan av metodanrop som ledde fram till felet.
Format för stack trace
En stack trace innehåller vanligtvis:
- Första raden: undantagstyp och meddelande.
- Följande rader: metoder samt fil och rad där felet fortplantades.
Kod: undantag som inte fångas
Den här NullPointerException som inte fångas skriver ut en stack trace som visar vägen genom 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();
}
}
Läsa raderna
Varje rad i en stack trace innehåller klassen, metoden och radnumret i källkoden. Om du läser uppifrån och ned ser du var felet uppstod och hur det fortplantades.
Kod: index utanför gränserna
Det här skriver ut ArrayIndexOutOfBoundsException med det exakta radnumret, vilket hjälper dig att hitta felet.
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3};
System.out.println(nums[5]); // ArrayIndexOutOfBoundsException
}
}
Kod: printStackTrace
Du kan också anropa printStackTrace() inuti catch för att visa spårningen vid felsökning och samtidigt fortsätta körningen.
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
}
}
}
Kontroll av stack trace
Snabb kontroll: Vad visar den översta raden i en stack trace vanligtvis?
Sammanfattning
Sammanfattning: Stack traces visar undantagstypen och vägen genom metodanropen. Genom att läsa dem blir det enklare att snabbt hitta raden där felet uppstod.
Lär dig Java med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 104
- Lektioner
- 374
Vanliga frågor
Är lektionen ”Läsa stack traces” gratis?
Ja – hela texten till ”Läsa stack traces” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Java Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Java Academy innehåller totalt 3 lektioner.
Vad lär jag mig i ”Läsa stack traces”?
Lär er läsa stack traces för att effektivt felsöka Java-program. Ni övar på Java Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Java Academy?
Du behöver inga förkunskaper. Utbildningen i Java Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 3.
Hur lång tid tar lektionen ”Läsa stack traces”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Java Academy-lektionen?
Ja. Varje Java Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- try/catch/finally
- Kontrollerade kontra okontrollerade undantag
- Läsa stack traces