try/catch/finally
Oppikaa käyttämään try-, catch- ja finally-rakenteita suorituksenaikaisten virheiden turvalliseen käsittelyyn.
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.
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
- try/catch/finally
- Tarkistetut ja tarkistamattomat poikkeukset
- Pinonjälkien lukeminen