Mikä on JSP-poikkeus?
Poikkeuksia esiintyy, kun joko kehittäjän koodissa on virhe tai järjestelmän sisäinen virhe.
Poikkeusten käsittely JSP: ssä on sama kuin Java-sovelluksessa, jossa hallitsemme poikkeuksia kokeilulohkojen avulla.
Toisin kuin Java, JSP: ssä on poikkeuksia myös silloin, kun koodissa on virhe.
Poikkeuksia on kolme tyyppiä:
- Tarkistettu poikkeus
- Ajonaikainen poikkeus
- ErrorsException
Tarkistetut poikkeukset
Se on yleensä käyttäjävirhe tai ongelmia, joita kehittäjä ei näe, kutsutaan tarkistetuiksi poikkeuksiksi.
Joitakin esimerkkejä ovat:
- FileNotFoundException: Tämä on valittu poikkeus (jos se yrittää löytää tiedoston, kun tiedostoa ei löydy levyltä).
- IO-poikkeus: Tämä on myös valittu poikkeus, jos tiedoston lukemisen tai kirjoittamisen aikana on tapahtunut poikkeuksia, IO-poikkeus nousee.
- SQLException: Tämä on myös tarkistettu poikkeus, kun tiedosto on kytketty SQL-tietokantaan, ja SQL-tietokannan liitettävyydessä on ongelma, SQLException nousee
Suorituksenaikaiset poikkeukset
Ajonaikaiset poikkeukset ovat se, jonka ohjelmoija olisi voinut välttää. Ne jätetään huomiotta laatimishetkellä.
Joitakin esimerkkejä ovat:
- ArrayIndexOutOfBoundsException: Tämä on ajonaikainen poikkeus, kun taulukon koko ylittää elementit.
- ArithmeticException: Tämä on myös ajonaikainen poikkeus, kun on olemassa matemaattisia operaatioita, jotka eivät ole sallittuja normaaleissa olosuhteissa, esimerkiksi luvun jakaminen 0: lla antaa poikkeuksen.
- NullPointer Exception: Tämä on myös ajonaikainen poikkeus, joka herätetään, kun muuttuja tai objekti on tyhjä, kun yritämme käyttää sitä. Tämä on hyvin yleinen poikkeus.
Virheet:
Ongelma syntyy käyttäjän tai ohjelmoijan hallinnan vuoksi. Jos pino täyttyy, voi tapahtua virhe.
Joitakin esimerkkejä virheestä on lueteltu alla:
- Virhe: Tämä virhe on heitettävissä oleva alaluokka, joka osoittaa vakavia ongelmia, joita sovellus ei voi havaita.
- Välitön virhe: Tämä virhe ilmenee, kun yritämme instantisoida objektia, mutta se ei tee sitä.
- Sisäinen virhe: Tämä virhe ilmenee, kun JVM: stä eli Java Virtual Machineistä on tapahtunut virhe.
Virhepoikkeus
Se on heitettävän luokan esiintymä, ja sitä käytetään virhesivuilla.
Joitakin heitettävän luokan menetelmiä ovat:
- Public String getMessage () - palauttaa poikkeuksen viestin.
- Syy () - palauttaa poikkeuksen syyn
- Public printStackTrace () - palauttaa poikkeuksen pinojäljen.
Esimerkki
Exception_example.jsp
<% @ page errorPage = "guru_error.jsp"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Poikkeusguru JSP1 <%int numero = 10;jos (num == 10){heittää uusi RuntimeException ("Virhetila !!!");}%>
Guru_error.jsp
<% @ page isErrorPage = "true"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru-poikkeussivu Guru-poikkeusta on tapahtunut
<% poikkeus.printStackTrace (response.getWriter ()); %>
Koodin selitys:
Exception_example.jsp
Koodirivi 1: Tässä asetetaan virhesivuksi guru_error.jsp, jota käytetään, kun virhe ohjataan uudelleen.
Koodirivi 15: Otamme muuttujan num ja asetamme sen arvoksi 10 ja tarkistamme ehdon, jos numero on 10, jotta heitettäisiin ajonaikainen poikkeus, jonka sanoma on Virhetila.
Guru_error.jsp
Koodirivi 1: Tässä asetamme isErrorPageattribute-arvon true.
Koodirivi 12: Poikkeus on nostettu poikkeuksen_esimerkki.jsp avulla heitto-objektilla, ja tämä poikkeus näytetään täällä, kun IsErrorPage-määritteeksi on merkitty tosi. Poikkeusta (tämä on objekti, jonka avulla JSP voi käyttää poikkeustietoja.) -Objektia yritämme tulostaa virheen pinonjäljen, joka tapahtui poikkeuksen_esimerkki.jsp tiedostossa.
Kun suoritat yllä olevan koodin, saat seuraavan tuloksen:
Tuotos:
Poikkeus on nostettu, joka on heitetty osoitteesta poikkeus_esimerkki.jsp käyttämällä ajonaikaisen poikkeuksen heittoobjektia, ja saamme yllä olevan koodin.
Myös guru_error.jsp kutsutaan, josta Guru-poikkeus on tapahtunut tästä tiedostosta.
Yhteenveto:
Täällä olemme oppineet poikkeuksista tässä opetusohjelmassa ja ottaneet esimerkin ajonaikaisista poikkeuksista opetusohjelmassa.