Java Academy · Oppitunti

Poikkeusten heittäminen ja omat poikkeukset

Oppikaa heittämään poikkeuksia eksplisiittisesti ja määrittämään omia poikkeusluokkia.

Oppitunti 1/38 vaihetta

Poikkeusten heittäminen ja omat poikkeukset 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

Joskus virheestä on ilmoitettava itse. Java mahdollistaa poikkeusten nimenomaisen heittämisen throw-käskyllä ja jopa omien tyyppien luomisen.

throw-avainsana

throw-lause luo poikkeuksen ja heittää sen. Käyttäkää sitä metodeissa osoittamaan, että jokin meni pieleen.

Koodi: valmiin poikkeuksen throw

Tässä heitetään IllegalArgumentException, kun age on liian pieni.

public class Main {
  static void checkAge(int age) {
    if (age < 18) {
      throw new IllegalArgumentException("Must be 18 or older");
    }
    System.out.println("Access granted");
  }
  public static void main(String[] args) {
    try {
      checkAge(15);
    } catch (IllegalArgumentException e) {
      System.out.println("Caught: " + e.getMessage());
    }
  }
}

Mukautetut poikkeukset

Voitte luoda omia mukautettuja poikkeuksia. Tarkistetut poikkeukset määritellään periyttämällä Exception-luokasta ja tarkistamattomat RuntimeException-luokasta.

Koodi: mukautettu poikkeus

Tässä esitellään mukautettu tarkistettu poikkeus. Metodien on ilmoitettava se throws-määritteellä.

public class Main {
  // Custom checked exception
  static class InvalidAgeException extends Exception {
    InvalidAgeException(String msg) { super(msg); }
  }
  static void validate(int age) throws InvalidAgeException {
    if (age < 18) throw new InvalidAgeException("Too young!");
  }
  public static void main(String[] args) {
    try {
      validate(15);
    } catch (InvalidAgeException e) {
      System.out.println("Caught custom: " + e.getMessage());
    }
  }
}

Koodi: mukautettu ajoaikainen poikkeus

Mukautetut ajoaikaiset poikkeukset periytyvät RuntimeException-luokasta. Niitä ei tarvitse ilmoittaa.

public class Main {
  // Custom unchecked exception
  static class FatalError extends RuntimeException {
    FatalError(String msg) { super(msg); }
  }
  public static void main(String[] args) {
    try {
      throw new FatalError("Something bad happened");
    } catch (FatalError e) {
      System.out.println("Caught runtime: " + e.getMessage());
    }
  }
}

Mukautettujen poikkeusten tarkistus

Pikakysymys: miten määrittelette mukautetun tarkistetun poikkeuksen?

Kertaus

Kertaus: Käyttäkää throw-käskyä virheistä ilmoittamiseen. Tarkistetut mukautetut poikkeukset periytetään Exception-luokasta ja tarkistamattomat RuntimeException-luokasta.

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 ”Poikkeusten heittäminen ja omat poikkeukset” ilmainen?

Kyllä – oppitunnin ”Poikkeusten heittäminen ja omat poikkeukset” 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 ”Poikkeusten heittäminen ja omat poikkeukset”?

Oppikaa heittämään poikkeuksia eksplisiittisesti ja määrittämään omia poikkeusluokkia. 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 ”Poikkeusten heittäminen ja omat poikkeukset”-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. Poikkeusten heittäminen ja omat poikkeukset
  2. try-with-resources (AutoCloseable)
  3. Defensiivinen ohjelmointi
← Takaisin: Java Academy