Poikkeuskäsittely JSP:ssä

Mikä on poikkeus JSP:ssä?

Poikkeukset JSP:ssä esiintyy, kun koodissa on virhe joko kehittäjän toimesta tai järjestelmässä on sisäinen virhe. Poikkeuskäsittely JSP:ssä on sama kuin JSP:ssä Java jossa hallitsemme poikkeuksia käyttämällä Try Catch -lohkoja. Toisin kuin Java, JSP:ssä on poikkeuksia myös silloin, kun koodissa ei ole virhettä.

JSP:n poikkeustyypit

JSP:ssä poikkeuksia on kolmenlaisia:

  1. Tarkistettu poikkeus
  2. Kestoaika poikkeus
  3. Virhepoikkeus

Tarkistetut poikkeukset

Se on yleensä käyttäjän virhe tai ongelmia, joita kehittäjä ei näe, kutsutaan tarkistetuiksi poikkeuksiksi. Joitakin esimerkkejä tarkistetuista poikkeuksista ovat:

  1. FileNotFoundException: Tämä on valittu poikkeus (jossa se yrittää löytää tiedoston, kun tiedostoa ei löydy levyltä).
  2. IO poikkeus: Tämä on myös tarkistettu poikkeus, jos tiedoston lukemisen tai kirjoittamisen aikana tapahtuu poikkeus, niin IO-poikkeus nostetaan esiin.
  3. SQLException: Tämä on myös valittu poikkeus, kun tiedosto on yhdistetty SQL tietokanta, ja SQL-tietokannan liitettävyydessä on ongelma, SQLException otetaan esille

Ajonaikaiset poikkeukset

Ajonaikaiset poikkeukset ovat sellaisia, jotka ohjelmoija olisi voinut välttää. Ne jätetään huomioimatta käännöshetkellä. Joitakin esimerkkejä ajonaikaisista poikkeuksista ovat:

  1. ArrayIndexOutOfBoundsException: Tämä on ajonaikainen poikkeus, kun taulukon koko ylittää elementtejä.
  2. Aritmeettinen poikkeus: Tämä on myös ajonaikainen poikkeus, kun on matemaattisia operaatioita, jotka eivät ole sallittuja normaaleissa olosuhteissa, esimerkiksi luvun jakaminen nollalla antaa poikkeuksen.
  3. NullPointer poikkeus: Tämä on myös ajonaikainen poikkeus, joka syntyy, kun muuttuja tai objekti on tyhjä, kun yritämme käyttää samaa. Tämä on hyvin yleinen poikkeus.

virheet:

Ongelma johtuu käyttäjän tai ohjelmoijan ohjauksesta. Jos pino vuotaa yli, voi tapahtua virhe. Alla on lueteltu joitakin esimerkkejä virheistä:

  1. Virhe: Tämä virhe on heitettävien virheiden alaluokka, joka osoittaa vakavia ongelmia, joita sovellus ei pysty havaitsemaan.
  2. Instantointivirhe: Tämä virhe ilmenee, kun yritämme luoda objektin, mutta se ei onnistu.
  3. Sisäinen virhe: Tämä virhe ilmenee, kun JVM:stä eli JVM:stä on tapahtunut virhe Java Virtuaalikone.

Virhepoikkeukset

Se on heitettävän luokan esiintymä, ja sitä käytetään virhesivuilla. Jotkut heitettävien luokan menetelmistä ovat:

  • Julkinen merkkijono getMessage() – palauttaa viestin poikkeuksesta.
  • Julkinen heitettävissäCause() – palauttaa poikkeuksen syyn
  • Julkinen printStackTrace()– palauttaa poikkeuksen pinojäljen.

Kuinka käsitellä poikkeuksia JSP:ssä

Tässä on esimerkki poikkeuksen käsittelemisestä JSP:ssä:

Poikkeus_esimerkki.jsp

<%@ page errorPage="guru_error.jsp" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Exception Guru JSP1</title>
</head>
<body>
<% 
 int num = 10;
   if (num == 10)
   {
      throw new RuntimeException("Error condition!!!");
   }
 %>
   </body>
</html>

Guru_error.jsp

<%@ page isErrorPage="true" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Exception Page</title>
</head>
<body>
<p>Guru Exception has occurred</p>
<% exception.printStackTrace(response.getWriter()); %>
</body>
</html>

Koodin selitys:

Poikkeus_esimerkki.jsp

Koodirivi 1: Tässä asetamme virhesivuksi guru_error.jsp, jota käytetään, kun virhe ohjataan uudelleen.

Koodirivi 15: otamme muuttujan num ja asetamme sen arvoon 10 ja tarkistamme ehdon, jos num on 10, sitten heittääksemme ajonaikaisen poikkeuksen, jossa on virheilmoitus.

Guru_error.jsp

Koodirivi 1: Tässä asetetaan isErrorPageattribute arvoon true.

Koodirivi 12: Poikkeus on esitetty tiedostossa poikkeus_esimerkki.jsp käyttämällä throw-objektia, ja tämä poikkeus näytetään tässä, koska IsErrorPage-attribuutti on merkitty tosi. Käyttämällä poikkeusta (tämä on objekti, jonka avulla JSP voi käyttää poikkeustietoja.) yritämme tulostaa tiedostossa poikkeus_esimerkki.jsp tapahtuneen virheen pinojäljitystä.

Kun suoritat yllä olevan koodin, saat seuraavan tulosteen:

Käsittele poikkeus JSP:ssä

lähtö:

Poikkeus on nostettu, joka heitettiin osoitteesta poikkeus_example.jsp käyttämällä ajonaikaisen poikkeuksenheiton objektia ja saamme yllä olevan koodin. Tästä tiedostosta kutsutaan myös guru_error.jsp, josta Guru-poikkeus on tapahtunut.

Yhteenveto

  • JSP:ssä poikkeuksia esiintyy, kun koodissa on virhe joko kehittäjän toimesta tai järjestelmässä on sisäinen virhe.
  • JSP:n poikkeuksia on 3 tyyppiä: Tarkistetut poikkeukset, Suorituksenaikaiset poikkeukset ja Virhepoikkeukset
  • Tarkistettu poikkeus on yleensä käyttäjän virhe tai ongelmia, joita kehittäjä ei näe, kutsutaan tarkistetuiksi poikkeuksiksi.
  • Ajonaikaiset poikkeukset ovat sellaisia, jotka ohjelmoija olisi voinut välttää. Ne jätetään huomioimatta käännöshetkellä.
  • Virhepoikkeus on heitettävän luokan esiintymä, ja sitä käytetään virhesivuilla.