Javan tarkistetun ja valitsemattoman poikkeuksen välinen ero

Sisällysluettelo:

Javan tarkistetun ja valitsemattoman poikkeuksen välinen ero
Javan tarkistetun ja valitsemattoman poikkeuksen välinen ero

Video: Javan tarkistetun ja valitsemattoman poikkeuksen välinen ero

Video: Javan tarkistetun ja valitsemattoman poikkeuksen välinen ero
Video: Как работает Spring Boot и что такое auto-configuration. Магия? 2024, Marraskuu
Anonim

Avainero – Tarkistettu vs. valitsematon poikkeus Javassa

Poikkeus on ajonaikainen virhe. On olemassa kahden tyyppisiä poikkeuksia, jotka tunnetaan nimellä valitut ja valitsemattomat poikkeukset. Kun valittu poikkeus tapahtuu, Java-sovellus yhdistetään ulkopuoliseen resurssiin, kuten tiedostoon, laitteeseen tai tietokantaan. Kääntäjä tarkistaa nämä poikkeukset. Joitakin esimerkkejä valituista poikkeuksista ovat IO-poikkeus ja FileNotFound-poikkeus. Kun valitsematon poikkeus tapahtuu, sovellus ei ole yhteydessä mihinkään ulkopuoliseen resurssiin. Kääntäjä ei tarkista näitä poikkeuksia. Joitakin esimerkkejä valitsemattomista poikkeuksista ovat Aritmeettinen poikkeus ja ArrayOutOfBound Exception. Tässä artikkelissa käsitellään eroa tarkistetun ja valitsemattoman poikkeuksen välillä Javassa. Tärkein ero Javassa tarkistetun ja tarkistamattoman poikkeuksen välillä on se, että kääntäjä tarkistaa tarkistetun poikkeuksen, kun taas kääntäjä ei tarkista tarkistamatonta poikkeusta.

Mikä on valittu poikkeus Javassa?

Kun valittu poikkeus tapahtuu, Java-sovellus yhdistetään ulkopuoliseen resurssiin. Tämä resurssi voi olla laite, kuten tulostin. Se voi olla tiedosto tai tietokanta. Siksi kääntäjä tarkistaa nämä poikkeukset. IO-poikkeus on tarkistettu poikkeus. Se johtuu laitteessa olevasta virheestä. Kun sovellus käyttää tiedostoa, jota ei ole olemassa, se aiheuttaa FileNotFound-poikkeuksen. Sovellus voidaan liittää tietokantaan, kuten MySQL, Oracle jne. tietojen tallentamiseksi. Jos tietokantaan liittyy virhe, se olisi SQL-poikkeus. Nämä ovat esimerkkejä tarkistetuista poikkeuksista. Kaikissa näissä sovellus on kytketty ulkoiseen resurssiin. Tarkistetuissa poikkeuksissa poikkeuksen käsittely on pakollista. Jos sitä ei käsitellä, ohjelman oikea kulku keskeytyy, eikä luokkatiedostoa luoda. Virhe voidaan käsitellä käyttämällä try, catch -lohkoa.

Ero tarkistetun ja valitsemattoman poikkeuksen välillä Javassa
Ero tarkistetun ja valitsemattoman poikkeuksen välillä Javassa

Kuva 01: Tarkistettu poikkeuskäsittely

Yllä olevan mukaan FileReader luki tiedot tiedostosta. Text1.txt-tiedostoa ei ole määritetyssä paikassa. Koodi, joka voi antaa poikkeuksen, sijoitetaan try-lohkon sisään. Tulostettava viesti on lukituslohkon sisällä. Koska teksti1.txt-nimistä tiedostoa ei ole, tämä aiheuttaa FileNotFoundExceptionin. Poikkeuskäsittelyä käyttämällä viesti tulostetaan näytölle.

Mitä ovat tarkistamattomat poikkeukset Javassa?

Kääntäjä ei tarkista valitsemattomia poikkeuksia. Toisin kuin tarkistetuissa poikkeuksissa, tarkistamattomilla poikkeuksilla Java-sovellusta ei ole yhdistetty ulkoiseen resurssiin, kuten tiedostoon, tietokantaan tai laitteeseen. Joitakin yleisiä valitsemattomia poikkeuksia ovat Aritmeettiset, ArrayOutOfBound- ja NullPointer-poikkeukset.

int a=10, b=0;

int div=a/b;

System.out.println(div);

Tämä aiheuttaa aritmeettisen poikkeuksen, koska "a" lasketaan nollalla. Katso alla oleva koodi.

Ero tarkistetun ja valitsemattoman poikkeuksen välillä Javassa_Kuva 02
Ero tarkistetun ja valitsemattoman poikkeuksen välillä Javassa_Kuva 02

Kuva 02: Aritmeettisten poikkeusten käsittely

Yllä olevan ohjelman mukaan muuttuja a on kokonaisluku. Muuttuja b on 0. Näiden kahden luvun jako on jako nollalla. Siksi se aiheuttaa aritmeettisen poikkeuksen. Sitä voidaan käsitellä try-catch-blokilla. Lausekkeet, jotka voivat aiheuttaa poikkeuksen, sijoitetaan try-lohkon sisään. Näytettävä viesti on kiinnityslohkossa.

Katso alla olevaa koodin osaa.

int array1={1, 2, 3, 4, 5};

System.out.println(array1[5]);

Tämä aiheuttaa poikkeuksen. Taulukko1 on taulukko, jossa on 5 elementtiä. Taulukon aloitusindeksi on nolla. Indeksiarvon 5th tulostaminen aiheuttaa poikkeuksen, koska se ei ole sidottu. Taulukon1 maksimiindeksi on 4.

Keskeinen ero tarkistetun ja valitsemattoman poikkeuksen välillä Javassa
Keskeinen ero tarkistetun ja valitsemattoman poikkeuksen välillä Javassa

Kuva 03: ArrayOutOfBound poikkeusten käsittely

Yllä olevan ohjelman mukaan taulukossa1 on 5 alkiota. Elementin tulostaminen indeksillä 6 aiheuttaa poikkeuksen, koska se ei ole sidottu. Enimmäisindeksi, joka voidaan tallentaa taulukkoon1, on 5. Virheilmoitus tulostuu suorittamalla catch-lohkon.

Mikä on samank altaisuus tarkistetun ja tarkistamattoman poikkeuksen välillä Javassa

Javan valitut ja valitsemattomat poikkeukset ovat Javassa poikkeustyyppejä

Mitä eroa on tarkastettujen ja tarkistamattomien poikkeuksien välillä Javassa?

Tarkastettu vs. valitsematon poikkeus Javassa

Tarkastettu poikkeus on ajonaikainen virhe, jonka kääntäjä tarkistaa. Tarkistamaton poikkeus on ajonaikainen virhe, jota kääntäjä ei tarkista.
Tapahtuma
Kun valittu poikkeus tapahtuu, Java-sovellus liitetään ulkoiseen resurssiin, kuten tiedostoon, laitteeseen tai tietokantaan. Kun valitsematon poikkeus tapahtuu, Java-sovellusta ei ole yhdistetty ulkoiseen resurssiin.
Esimerkkejä
IOException, FileNotFoundException, SQLException ovat esimerkkejä tarkistetuista poikkeuksista. Aritmeettinen poikkeus, ArrayOutOfBoundException, NullPointerException ovat esimerkkejä tarkistamattomista poikkeuksista.

Yhteenveto – Tarkistettu vs. valitsematon poikkeus Javassa

Poikkeus on tapahtuma, joka keskeyttää ohjelman kulun. Poikkeuksia on kahdenlaisia. Niitä kutsutaan tarkistetuiksi poikkeuksiksi ja tarkistamattomiksi poikkeuksiksi. Tässä artikkelissa käsiteltiin eroa tarkistetun poikkeuksen ja tarkistamattomien poikkeusten välillä. Ero tarkistetun ja tarkistamattoman poikkeuksen välillä Javassa on, että kääntäjä tarkistaa tarkistetun poikkeuksen, kun taas kääntäjä ei tarkista tarkistamatonta poikkeusta. Koska poikkeukset vaikuttavat ohjelman oikeaan suoritukseen, on hyvä ohjelmointikäytäntö käsitellä niitä.

Suositeltava: