logo

Poikkeuskäsittely Javassa

  1. Poikkeuskäsittely
  2. Poikkeuskäsittelyn etu
  3. Poikkeusluokkien hierarkia
  4. Poikkeustyypit
  5. Esimerkki poikkeus
  6. Skenaariot, joissa voi tapahtua poikkeus

The Poikkeuskäsittely Javassa on yksi vahvimmista mekanismi ajonaikaisten virheiden käsittelemiseksi jotta sovelluksen normaali virtaus voidaan säilyttää.

Tässä opetusohjelmassa opimme Java-poikkeuksista, sen tyypeistä ja eroista valittujen ja tarkistamattomien poikkeusten välillä.

boolean merkkijonoksi java

Mikä on poikkeus Javassa?

Sanakirjan merkitys: Poikkeus on epänormaali tila.

Javassa poikkeus on tapahtuma, joka häiritsee ohjelman normaalia kulkua. Se on esine, joka heitetään ajon aikana.

Mitä on poikkeuskäsittely?

Poikkeuskäsittely on mekanismi, joka käsittelee ajonaikaisia ​​virheitä, kuten ClassNotFoundException, IOException, SQLException, RemoteException jne.

Poikkeuskäsittelyn etu

Poikkeuskäsittelyn ydinetu on ylläpitääksesi sovelluksen normaalia kulkua . Poikkeus häiritsee normaalisti sovelluksen normaalia kulkua; siksi meidän on käsiteltävä poikkeuksia. Mietitään skenaariota:

 statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10; 

Oletetaan, että Java-ohjelmassa on 10 käskyä ja lauseessa 5 tapahtuu poikkeus; loput koodista ei suoriteta, eli lauseita 6-10 ei suoriteta. Kuitenkin, kun suoritamme poikkeuskäsittelyn, loput lauseet suoritetaan. Siksi käytämme poikkeuskäsittelyä Java .

Tiedätkö?
  • Mitä eroa on valituilla ja tarkistamattomilla poikkeuksilla?
  • Mitä tapahtuu koodin int data=50/0; takana?
  • Miksi käyttää usean kiinnityksen lohkoa?
  • Onko mahdollista, että lopullinen lohko ei suoriteta?
  • Mitä on poikkeusten leviäminen?
  • Mitä eroa on heittää ja heittää avainsanalla?
  • Mitkä ovat 4 sääntöä poikkeuskäsittelyn käyttämiseen menetelmän ohituksen kanssa?

Java Exception -luokkien hierarkia

Luokka java.lang.Throwable on Java Exception -hierarkian juuriluokka, jonka kaksi alaluokkaa ovat perineet: Exception ja Error. Java Exception -luokkien hierarkia on annettu alla:

poikkeuskäsittelyn hierarkia

Java-poikkeuksien tyypit

Poikkeuksia on pääasiassa kahdenlaisia: valitut ja valitsemattomat. Virhe katsotaan valitsemattomaksi poikkeukseksi. Oraclen mukaan poikkeuksia on kuitenkin kolmenlaisia, nimittäin:

  1. Tarkistettu poikkeus
  2. Valitsematon poikkeus
  3. Virhe
poikkeuskäsittelyn hierarkia

Ero valittujen ja valitsemattomien poikkeusten välillä

1) Tarkistettu poikkeus

Luokat, jotka suoraan perivät Throwable-luokan paitsi RuntimeException ja Error, tunnetaan tarkistetuina poikkeuksina. Esimerkiksi IOException, SQLException jne. Tarkistetut poikkeukset tarkistetaan käännösaikana.

2) Valitsematon poikkeus

Luokat, jotka perivät RuntimeExceptionin, tunnetaan valitsemattomina poikkeuksina. Esimerkiksi ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException jne. Tarkistamattomia poikkeuksia ei tarkisteta käännösvaiheessa, mutta ne tarkistetaan ajon aikana.

3) Virhe

Virhe on peruuttamaton. Joitakin esimerkkejä virheistä ovat OutOfMemoryError, VirtualMachineError, AssertionError jne.

Java-poikkeusavainsanat

Java tarjoaa viisi avainsanaa, joita käytetään poikkeuksen käsittelemiseen. Seuraavassa taulukossa kuvataan jokainen.

avainsanaKuvaus
yrittää'Try'-avainsanaa käytetään määrittämään lohko, johon meidän tulisi sijoittaa poikkeuskoodi. Se tarkoittaa, että emme voi käyttää try blockia yksinään. Try-lohkon jälkeen tulee joko catch tai final.
ottaa kiinni'Catch'-lohkoa käytetään poikkeuksen käsittelemiseen. Sitä edeltää try block, mikä tarkoittaa, että emme voi käyttää catch blockia yksinään. Sitä voi seurata lopullinen esto myöhemmin.
vihdoinkinLopuksi-lohkoa käytetään ohjelman tarvittavan koodin suorittamiseen. Se suoritetaan riippumatta siitä, käsitelläänkö poikkeusta vai ei.
heittää'Heitä'-avainsanaa käytetään heittämään poikkeus.
heittoja'heittää'-avainsanaa käytetään ilmoittamaan poikkeuksia. Se määrittää, että menetelmässä voi esiintyä poikkeus. Se ei tee poikkeusta. Sitä käytetään aina metodiallekirjoituksen kanssa.

Esimerkki Java poikkeusten käsittelystä

Katsotaan esimerkki Java-poikkeusten käsittelystä, jossa käytämme try-catch-käskyä poikkeuksen käsittelemiseen.

JavaExceptionExample.java

 public class JavaExceptionExample{ public static void main(String args[]){ try{ //code that may raise exception int data=100/0; }catch(ArithmeticException e){System.out.println(e);} //rest code of the program System.out.println('rest of the code...'); } } 
Testaa nyt

Lähtö:

 Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code... 

Yllä olevassa esimerkissä 100/0 nostaa aritmeettisen poikkeuksen, joka käsitellään try-catch-lohkolla.

Java-poikkeusten yleiset skenaariot

On annettu joitakin skenaarioita, joissa voi esiintyä tarkistamattomia poikkeuksia. Ne ovat seuraavat:

1) Skenaario, jossa Aritmeettinen poikkeus tapahtuu

Jos jaamme minkä tahansa luvun nollalla, syntyy aritmeettinen poikkeus.

 int a=50/0;//ArithmeticException 

2) Skenaario, jossa NullPointerException tapahtuu

Jos meillä on nolla-arvo missä tahansa muuttuja , minkä tahansa toiminnon suorittaminen muuttujalle antaa NullPointerExceptionin.

 String s=null; System.out.println(s.length());//NullPointerException 

3) Skenaario, jossa NumberFormatException esiintyy

Jos jonkin muuttujan tai luvun muotoilu ei täsmää, seurauksena voi olla NumberFormatException. Oletetaan, että meillä on a merkkijono muuttuja, jossa on merkkejä; tämän muuttujan muuntaminen numeroiksi aiheuttaa NumberFormatExceptionin.

 String s='abc'; int i=Integer.parseInt(s);//NumberFormatException 

4) Skenaario, jossa ArrayIndexOutOfBoundsException esiintyy

Kun taulukko ylittää koonsa, tapahtuu ArrayIndexOutOfBoundsException. ArrayIndexOutOfBoundsExceptionin esiintymiseen voi olla muitakin syitä. Harkitse seuraavia väitteitä.

 int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException 

Java poikkeusten hakemisto

  1. Java Try-Catch Block
  2. Java Multiple Catch Block
  3. Java sisäkkäinen kokeilu
  4. Java Lopuksi Block
  5. Java Throw -avainsana
  6. Java-poikkeuksen leviäminen
  7. Java heittää avainsanan
  8. Java-heitto vs
  9. Java Final vs Lopullinen vs Finalize
  10. Java-poikkeusten käsittely menetelmän ohituksella
  11. Java mukautetut poikkeukset