GeeksforGeeks (Suomi)

Javassa on kahdenlaisia poikkeuksia.

1) Tarkistettu: ovat poikkeuksia, jotka on valittu käännöksen yhteydessä. Jos jokin menetelmän koodi heittää tarkistetun poikkeuksen, menetelmän on joko käsiteltävä poikkeus tai sen on määriteltävä poikkeus heittojen avainsanalla.

harkitse esimerkiksi seuraavaa Java-ohjelmaa, joka avaa tiedoston sijaintipaikalla ”C:\test\a.txt” ja tulostaa sen kolme ensimmäistä riviä., Ohjelma ei koota, koska funktio main() käyttää FileReader() ja FileReader() heittää tarkastetaan poikkeus FileNotFoundException. Se käyttää myös readLine() ja close() menetelmiä, ja nämä menetelmät myös heittää tarkastetaan poikkeus IOException



tuloksena on:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown at Main.main(Main.java:5)

korjata edellä ohjelma, meillä joko täytyy määrittää luettelo poikkeuksista käyttämällä heittää, tai meidän täytyy käyttää try-catch-lohkossa. Olemme käyttäneet heittoja alla-ohjelmassa., Koska FileNotFoundException on alaluokka IOException, voimme vain määrittää IOException heittää luetteloon, ja tehdä edellä ohjelma compiler-virhe-vapaa.



Lähtö: kolme Ensimmäistä riviä-tiedosto ”C:\test\a.txt”

2) Valitsematta ovat poikkeuksia, jotka eivät ole tarkistaa koottu aikaa. C++: ssa kaikki poikkeukset eivät ole tarkistettavissa, joten kääntäjä ei pakota niitä joko käsittelemään tai määrittelemään poikkeusta. On ohjelmoijien tehtävä olla sivistyneitä ja täsmentää tai ottaa poikkeuksia kiinni.,
Java-poikkeukset virhe-ja RuntimeException-luokissa ovat tarkistamattomia poikkeuksia, kaikki muu heitettävissä on tarkastettu.

 +-----------+ | Throwable | +-----------+ / \ / \ +-------+ +-----------+ | Error | | Exception | +-------+ +-----------+ / | \ / | \ \________/ \______/ \ +------------------+ unchecked checked | RuntimeException | +------------------+ / | | \ \_________________/ unchecked

harkitse seuraavaa Java-ohjelmaa. Se kokoaa hyvin, mutta heittää Aritmeeticexception kun ajaa. Kääntäjä antaa sen koota, koska ArithmeticException on tarkistamaton poikkeus.,2b7cfd03″>

;

int y = 10;
int z = y/x;
}
}



Output:

Exception in thread "main" java.lang.ArithmeticException: / by zero at Main.main(Main.java:5)Java Result: 1

Why two types?,
Katso Tarkentamattomat poikkeukset-kohu yksityiskohdista.

pitäisikö meidän tehdä poikkeukset tarkistettuina vai tarkistamattomina?
seuraava on Java-dokumenttien alaraja
jos asiakkaan voidaan kohtuudella olettaa toipuvan poikkeuksesta, tee siitä tarkistettu poikkeus. Jos asiakas ei voi tehdä mitään toipua poikkeus, jotta se tarkistamaton poikkeus,

Java Kulma GeeksforGeeks

ole hyvä ja kirjoita kommentteja, jos löydät jotain väärin, tai haluat jakaa enemmän tietoa aiheesta edellä.

Attention reader! Älä lopeta oppimista nyt., Saada käsiinsä kaikki tärkeät Java Foundation ja Kokoelmat käsitteitä Perusteet Java-ja Java Kokoelmat Kurssin opiskelija-ystävällinen hinta ja tullut teollisuuden valmis.

Artikkeli Tagit :

Java

Käytännössä Tagit :

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Siirry työkalupalkkiin