Tarkistettu ja tarkistamaton poikkeus

Anonim

Javan poikkeustoiminta on yksi voimakkaista mekanismeista, joilla voidaan käsitellä erityisiä virheitä, jotka syntyvät koodisekvenssissä ajon aikana. Poikkeus ei ole vain ajonaikainen virhe, joka häiritsee sovelluksen normaalia virtaa.

Se tapahtuu normaalisti koodikappaleessa ja kun se tehdään, esine, joka edustaa tätä poikkeusta, luodaan ja heitetään menetelmässä, joka aiheutti sen. Tämän seurauksena ohjelma tai sovellus häiriintyy, mikä aiheuttaa sovelluksen lopettamisen epänormaalisti, mikä ei ole suositeltavaa. Tästä syystä näitä poikkeuksia on käsiteltävä, ja tässä tapauksessa poikkeusmekanismista tulee kuva.

Java-tyyppisiä poikkeuksia on olemassa - tarkistettu ja valittuna poikkeuksena. Tässä artikkelissa keskustelemme yksityiskohtaisesti siitä, mitä tarkistetaan ja tarkistamaton poikkeus ja milloin niitä käytetään, ja lopuksi näemme näiden kahden välisen eron.

Mikä on Checked Exception in Java?

Nämä ovat poikkeuksia, jotka tarkistetaan ja käsitellään koottaessa. Java määrittelee useita poikkeusluokkia vakiopaketin sisällä java.lang, ja yleisimmät poikkeukset ovat vakiotyyppisiä alaluokkia RuntimeException.

Poikkeukset, jotka tapahtuvat ohjelman välittömän valvonnan ulkopuolella olevilla alueilla, tunnetaan tarkastetuin poikkeuksin. Jos menetelmää heittää tarkistettu poikkeus kääntämisajassa, joka ei pysty käsittelemään sitä itse, sen on käsiteltävä poikkeus a: ssa saada kiinni {} estää tai julistaa poikkeus käyttämällä heittää avainsana, muussa tapauksessa se antaa virheilmoituksen. Kääntäjä tutkii poikkeustyypin tyypin jokaiselle heittää lausunto ja jos se näkyy tarkistettuna, kääntäjä tarkistaa lähdekoodin varmistaakseen, että poikkeus käsitellään menetelmässä, jossa se heitetään tai julistetaan niin, että sitä voidaan käsitellä edelleen.

Kaikki poikkeukset, jotka on kuvattu poikkeus jotka ovat sen suoria alaluokkia paitsi RuntimeException kutsutaan tarkastetuiksi poikkeuksiksi. Nyt kun käytät tarkastettua poikkeusta? Voit halutessasi käyttää tarkistettua poikkeusta, kun tiedät tarkalleen mitä tehdä, kun poikkeus tapahtuu tai kun vikaantumismahdollisuudet ovat enemmän. Joitakin esimerkkejä Java-kirjaston tarkastetuista poikkeuksista ovat IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException, InvocationTargetException jne.

Mikä on epävakaa poikkeus Java-ohjelmassa?

Nämä ovat poikkeuksia, joita ei ole tarkistettu koottaessa. Valitsematon poikkeus on ehto, joka yleensä heijastaa virheitä ohjelman logiikassa ja jota ei voi palauttaa ajon aikana.

Yksinkertaisesti sanottuna valittuna oleva poikkeus on poikkeus, joka ei jää a yritä saada kiinni lohko. Niitä ei tarvitse ottaa selkeästi kiinni. Itse asiassa, kun epävarma poikkeus ilmenee, Java hoitaa poikkeuksen automaattisesti. Epättämättömät poikkeukset johtuvat enimmäkseen ohjelmointivirheistä, kuten silloin, kun käytetään elementtiä verkon liittämisen tai nollaobjektin menetelmän käytön ulkopuolella. Javaissa kaikki poikkeamat, jotka ovat heittäytyviä, tarkastetaan poikkeuksin, kun taas poikkeukset, jotka ovat suoria alaluokkia Virhe ja RuntimeException eivät ole tarkkoja poikkeuksia.

Paras osa valittua poikkeusta on se, että se ei vähennä koodin luettavuutta pitämällä asiakastunnus puhtaana. Joitakin esimerkkejä tarkistamattomista poikkeuksista ovat ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException jne.

Ero erotettujen ja valittujen poikkeusten välillä

Tarkastettu ja tarkistamaton poikkeus

Tarkistettu ja valittuna poikkeuksena on Java-tyyppisiä poikkeuksia, jotka takaavat sovelluksen normaalin virran. Molemmat palvelevat samaa tarkoitusta, joka on käsitellä poikkeuksia Java: ssa ja vaikka toiminnassa ei ole eroa, ei ole olemassa yhtä sääntöä, jolla määritetään, milloin käytetään tarkistettua ja milloin käyttää tarkistamatonta poikkeusta. Tarkistettu poikkeus on poikkeus, joka tarkistetaan koottua aikaa, kun taas Valitsematon poikkeus on se, jota ei ole tarkistettu koottua aikaa.

Tarkastettujen ja valittujen poikkeusten perusteet

Tarkistettu poikkeus viittaa virheellisiin skenaarioihin, jotka tapahtuvat ohjelman välittömän valvonnan ulkopuolella, kun taas tarkistamaton poikkeus viittaa ohjelman virheisiin tai ohjelman logiikan virheisiin, joita ei voida palauttaa ajon aikana.

Poikkeuksen käsittely

Jos menetelmä heittää valittua poikkeusta, kääntäjä tarkistaa, käsitteleekö kyseinen poikkeus käyttämällä try-catch -lohkoa tai määritä poikkeus käyttämällä avainsanaa heittää. Jos menetelmä ei anna käsittelykoodia, se näyttää kokoamisvirheen. Päinvastoin ohjelma kootaan hienosti, koska kääntäjä ei tarkista valittuja poikkeuksia koottua aikaa.

Tarkistetun ja tarkistamattoman poikkeuksen syy

Poikkeuksia, jotka eivät johdu RunTimeExceptionista, käsitellään usein, kun taas poikkeuksina esiintyy ajon aikana harvoin käsitellään. Tarkistettu poikkeus ilmenee, kun vikaantumismahdollisuudet ovat liian korkeat. Epättämättömän poikkeuksen toisaalta esiintyy enimmäkseen ohjelmointivirheiden vuoksi. Kaikki poikkeukset RuntimeException- ja Error-luokissa eivät ole valittuja poikkeuksia, kun taas kaikki muu, joka on heitetty, on tarkastettu poikkeuksia.

Esimerkkejä tarkistetusta ja tarkistamattomasta poikkeuksesta

Joitakin esimerkkejä tarkastetuista poikkeuksista ovat IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException ja muuta. Esimerkkejä tarkistamattomista poikkeuksista ovat NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException jne.

Tarkistettu vs. tarkistamaton poikkeus: vertailukuvio

Tiivistelmä tarkistetusta ja tarkistamattomasta poikkeuksesta

Tarkistettu ja valittuna poikkeuksena ovat Java-tyyppisiä poikkeuksia. Vaikka toiminnallisuus on sama molemmille poikkeuksille, niillä on tasapuolinen osuus eroista. Tärkein ero tarkastettujen ja tarkistamattomien poikkeusten välillä on, että kääntäjä tarkistaa edellisen, kun taas jälkimmäinen jättää ilmoituksen kääntäjästä. Poikkeuksia, jotka tarkistetaan ja käsitellään koottaessa, tarkastetaan poikkeuksia, kun taas poikkeukset, joita ei ole tarkistettu ja käsitelty koottua aikaa, ovat valittuja poikkeuksia. Tässä artikkelissa selitetään, mitä tarkistetaan ja mitä ei ole valittu poikkeukseksi, milloin niitä käytetään, ja selittää näiden kahden välisen eron.