Poikkeusten käsittely Java-järjestelmässä on yksi tehokkaista mekanismeista käsitellä tiettyjä virheitä, jotka ilmenevät koodisekvenssistä suorituksen aikana. Poikkeus ei ole muuta kuin suorituksenaikainen virhe, joka häiritsee sovelluksen normaalia kulkua.
Se tapahtuu normaalisti koodinpalassa, ja kun se tapahtuu, luodaan tätä poikkeusta edustava objekti ja heitetään menetelmässä, joka sen aiheutti. Seurauksena on, että ohjelma tai sovellus keskeytyy, mikä aiheuttaa sovelluksen lopettamisen epänormaalisti, mikä ei ole suositeltavaa. Siksi näitä poikkeuksia on käsiteltävä, ja tässä kohtaa poikkeusten käsittelymekanismi tulee kuvaan.
Java-ohjelmassa on kahden tyyppisiä poikkeuksia - tarkastettu ja ei valittu. Tässä artikkelissa keskustelemme yksityiskohtaisesti siitä, mikä on valittu ja poistettu valinta ja milloin niitä käytetään, ja viimeiseksi näemme ero näiden kahden välillä.
Nämä ovat poikkeuksia, jotka tarkistetaan ja käsitellään käännöshetkellä. Java määrittelee useita poikkeusluokkia vakiopaketin sisällä java.lang, ja yleisimmät poikkeukset ovat vakiotyypin alaluokat RuntimeException.
Ne poikkeukset, joita esiintyy alueilla, jotka eivät kuulu ohjelman välittömään valvontaan, tunnetaan tarkistetuina poikkeuksina. Jos menetelmä heittää valittu poikkeus käännöshetkellä, joka ei voi käsitellä sitä itse, sen on käsiteltävä poikkeus kohdassa ottaa kiinni estä tai julista poikkeus käyttämällä heittää avainsana, muuten se antaa käännösvirheen. Kääntäjä tutkii poikkeusobjektin tyypin jokaisesta heittää lauseke ja jos se näkyy valittuna, kääntäjä tarkistaa lähdekoodin varmistaakseen, että poikkeusta käsitellään siinä menetelmässä, jossa se heitetään tai julistetaan, jotta sitä voidaan käsitellä edelleen.
Kaikki poikkeukset, jotka on kuvaillut poikkeus jotka ovat sen suorat alaluokat paitsi RuntimeException kutsutaan tarkistetuiksi poikkeuksiksi. Nyt kun käyttää valittua poikkeusta? Voit valita valitun poikkeuksen, kun tiedät tarkalleen, mitä tehdä, kun poikkeus tapahtuu tai kun epäonnistumismahdollisuudet ovat suuremmat. Joitakin esimerkkejä Java-kirjaston tarkistetuista poikkeuksista ovat IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException, InvocationTargetException jne..
Nämä ovat poikkeuksia, joita ei tarkisteta käännöshetkellä. Valitsemattomat poikkeukset edustavat tilaa, joka heijastaa yleensä ohjelman logiikan virheitä ja jota ei voida palauttaa suorituksen aikana.
Yksinkertaisesti sanottuna, tarkistamaton poikkeus on poikkeus, jota ei ole kiinnitetty yritä saada kiinni lohko. Niitä ei tarvitse kiinni erikseen. Itse asiassa kun tarkistamaton poikkeus tapahtuu, Java käsittelee poikkeuksen automaattisesti. Valitsemattomat poikkeukset tapahtuvat useimmiten ohjelmointivirheiden takia, kuten käytettäessä elementtiä ryhmän liittämisen ulkopuolella tai nollaobjektin käyttömenetelmää. Java-ohjelmassa kaikki poistettavat poikkeukset on tarkastettu poikkeuksina, kun taas poikkeukset, jotka ovat suorat alaluokat Virhe ja RuntimeException ovat tarkistamattomia poikkeuksia.
Paras osa tarkistamatonta poikkeusta on, että se ei vähennä koodin luettavuutta pitäen samalla asiakaskoodin puhtaana. Joitakin esimerkkejä tarkistamattomista poikkeuksista ovat ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException jne..
Valitut ja valittomat poikkeukset ovat Java-tyyppisiä kahta tyyppisiä poikkeuksia sovelluksen normaalin kulun varmistamiseksi. Molemmat palvelevat samaa tarkoitusta, joka on Java-poikkeusten käsitteleminen, ja vaikka toiminnallisuudessa ei ole eroja, ei ole yhtä ainoaa sääntöä, jolla määritetään, milloin valittuja ja milloin valittavia poikkeuksia käytetään. Tarkistettu poikkeus on poikkeus, joka tarkistetaan käännöshetkellä, kun taas Ei valittu poikkeus on sellainen, jota ei tarkisteta käännöshetkellä..
Valittu poikkeus viittaa virheellisiin skenaarioihin, joita tapahtuu ohjelman välittömän valvonnan ulkopuolella, kun taas tarkistamaton poikkeus viittaa ohjelman virheisiin tai ohjelman logiikan virheisiin, joita ei voida palauttaa suorituksen aikana.
Jos menetelmä heittää valitun poikkeuksen, kääntäjä tarkistaa, käsitteleekö menetelmä tätä poikkeusta kokeilevan saallohkon avulla, tai määrittää poikkeuksen heitto-avainsanalla. Jos menetelmä ei tarjoa käsittelykoodia, se näyttää käännösvirheen. Päinvastoin, ohjelma kokoaa hienosti, koska kääntäjä ei tarkista valvomattomia poikkeuksia käännöshetkellä.
Poikkeuksia, joita ei johdeta RunTimeException-sovelluksesta, käsitellään usein, kun taas ajon aikana tapahtuvia poikkeuksia käsitellään harvoin. Tarkistettu poikkeus tapahtuu, kun epäonnistumismahdollisuudet ovat liian korkeat. Valitsemattomat poikkeukset puolestaan tapahtuvat enimmäkseen ohjelmointivirheiden takia. Kaikki RuntimeException- ja Error-luokkien poikkeukset eivät ole tarkistettuja poikkeuksia, kun taas kaikki muu poistettavissa olevat ovat tarkastettuja poikkeuksia.
Joitakin esimerkkejä tarkastetuista poikkeuksista ovat IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException ja muut. Esimerkkejä tarkistamattomista poikkeuksista ovat NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException jne..
Valitut ja valittomat poikkeukset ovat Java-tyyppisiä kahta tyyppisiä poikkeuksia. Vaikka toiminnallisuus on sama molemmille poikkeuksille, niillä on kohtuullinen osuus eroista. Suurin ero tarkistettujen ja tarkistamattomien poikkeusten välillä on se, että kääntäjä tarkistaa edellisen, kun taas jälkimmäinen välttää kääntäjän ilmoituksen. Poikkeukset, jotka tarkistetaan ja käsitellään käännöshetkellä, ovat tarkistettuja poikkeuksia, kun taas poikkeukset, joita ei tarkisteta ja käsitellä käännöshetkellä, ovat valittomia poikkeuksia. Tässä artikkelissa selitetään, mitä on valittu ja mikä ei ole valittuna poikkeuksena, milloin niitä käytetään, ja selitetään ero näiden kahden välillä.