Pinonjälkien lukeminen
Oppikaa lukemaan pinonjälkiä Java-ohjelmien tehokasta virheenkorjausta varten.
Pinonjälkien lukeminen on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.
Johdanto
Kun poikkeusta ei käsitellä, Java tulostaa stack trace -tiedot. Ne näyttävät virheen tyypin ja siihen johtaneen metodikutsujen ketjun.
Stack trace -muoto
Stack trace sisältää yleensä seuraavat tiedot:
- Ensimmäinen rivi: poikkeuksen tyyppi ja viesti.
- Seuraavat rivit: metodit sekä file:line-kohdat, joiden kautta virhe eteni.
Koodi: käsittelemätön poikkeus
Tämä käsittelemätön NullPointerException tulostaa stack tracen, joka näyttää kulun methodA → methodB → main kautta.
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();
}
}
Rivien lukeminen
Jokaisella stack tracen rivillä näkyvät luokka, metodi ja lähdekoodin rivinumero. Lukemalla rivejä ylhäältä alas näette, missä virhe tapahtui ja miten se eteni.
Koodi: taulukon rajojen ylitys
Tämä tulostaa ArrayIndexOutOfBoundsException-poikkeuksen ja tarkan rivinumeron, mikä auttaa paikantamaan virheen.
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3};
System.out.println(nums[5]); // ArrayIndexOutOfBoundsException
}
}
Koodi: printStackTrace
Voitte kutsua printStackTrace()-metodia catch-lohkon sisällä näyttääksenne jäljityksen vianmääritystä varten ja jatkaaksenne suoritusta.
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
}
}
}
Stack trace -tarkistus
Pikakysymys: mitä stack tracen ensimmäisellä rivillä yleensä näytetään?
Kertaus
Kertaus: Stack trace näyttää poikkeuksen tyypin ja metodikutsujen reitin. Niiden lukeminen nopeuttaa vianmääritystä, koska sen avulla virherivi on helppo paikantaa.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”Pinonjälkien lukeminen” ilmainen?
Kyllä – oppitunnin ”Pinonjälkien lukeminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Pinonjälkien lukeminen”?
Oppikaa lukemaan pinonjälkiä Java-ohjelmien tehokasta virheenkorjausta varten. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.
Kuinka kauan ”Pinonjälkien lukeminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- try/catch/finally
- Tarkistetut ja tarkistamattomat poikkeukset
- Pinonjälkien lukeminen