Java Academy · Oppitunti

try/catch/finally

Oppikaa käyttämään try-, catch- ja finally-rakenteita suorituksenaikaisten virheiden turvalliseen käsittelyyn.

Oppitunti 1/38 vaihetta

try/catch/finally on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/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

Ohjelmat törmäävät joskus virheisiin: virheellinen syöte, puuttuvat tiedostot tai nollalla jako. Poikkeukset ovat Javan tapa käsitellä niitä ilman ohjelman kaatumista.

try/catch-yleiskatsaus

Käärikää riskialtis koodi try-lohkoon. Jos poikkeus tapahtuu, suoritus siirtyy vastaavaan catch-lohkoon. Näin voitte käsitellä virheet hallitusti.

Koodi: yksinkertainen try/catch

Tämä koodi käsittelee ArithmeticException-poikkeuksen ja tulostaa ystävällisen viestin ohjelman kaatumisen sijaan.

public class Main {
  public static void main(String[] args) {
    try {
      int x = 10 / 0; // risky division
      System.out.println("Result=" + x);
    } catch (ArithmeticException e) {
      System.out.println("Cannot divide by zero!");
    }
  }
}

Useita catch-lohkoja

Voitte käyttää useita catch-lohkoja eri poikkeustyyppien käsittelyyn erikseen. Järjestyksellä on merkitystä: sijoittakaa tarkemmat lohkot yleisempien edelle.

Koodi: useita catch-lohkoja

NullPointerException käsitellään sen omassa catch-lohkossa. Kukin tyyppi voidaan käsitellä eri tavalla.

public class Main {
  public static void main(String[] args) {
    try {
      String s = null;
      System.out.println(s.length()); // NullPointerException
    } catch (ArithmeticException e) {
      System.out.println("Math error");
    } catch (NullPointerException e) {
      System.out.println("Null reference error");
    }
  }
}

Koodi: finally-lohko

finally-lohko suoritetaan riippumatta siitä, tapahtuuko poikkeus. Käyttäkää sitä siivoustehtäviin, kuten tiedostojen sulkemiseen.

public class Main {
  public static void main(String[] args) {
    try {
      int[] arr = {1,2};
      System.out.println(arr[5]); // ArrayIndexOutOfBounds
    } catch (ArrayIndexOutOfBoundsException e) {
      System.out.println("Bad index!");
    } finally {
      System.out.println("Finally block always runs");
    }
  }
}

finally-tarkistus

Pikakysymys: mikä on finally-lohkon tarkoitus?

Kertaus

Kertaus: try käsittelee riskialtista koodia, catch reagoi virheisiin ja finally suoritetaan aina siivousta varten.

Aloita maksutta

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 ”try/catch/finally” ilmainen?

Kyllä – oppitunnin ”try/catch/finally” 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 ”try/catch/finally”?

Oppikaa käyttämään try-, catch- ja finally-rakenteita suorituksenaikaisten virheiden turvalliseen käsittelyyn. 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 1/3.

Kuinka kauan ”try/catch/finally”-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

  1. try/catch/finally
  2. Tarkistetut ja tarkistamattomat poikkeukset
  3. Pinonjälkien lukeminen
← Takaisin: Java Academy