Erandi käsitlemine JSP-s

⚡ Nutikas kokkuvõte

JSP-s erandite käsitlemine haldab koodi käivitamise ajal tekkivaid vigu, sarnaselt Java try-catch plokid. Erandid jagunevad kolme tüüpi: kontrollitud, käitusaja ja vea. JSP lehed kasutavad ümbersuunamiseks ja erandite kuvamiseks atribuute errorPage ja isErrorPage.

  • ⚠️ Erand määratletud: JSP käivitamisel ilmnenud viga, mida käsitletakse järgmiselt Java proovipüüda.
  • 🗂️ Kolm tüüpi: Kontrollitud, käitusaja ja vea erandid.
  • 🧾 Kontrollitud: FileNotFoundException, IOException ja SQLException tuleb käsitleda.
  • 🧨 Kestus: ArrayIndexOutOfBounds, ArithmeticException ja NullPointerException.
  • 🛟 vealeht / onVealeht: Suuna vead lehele, mis prindib erandite pinu trace.

Erandi käsitlemine JSP-s

Mis on JSP-s erand?

Erandeid JSP-s ilmnevad siis, kui koodis on viga arendaja poolt või süsteemisisene viga. Erandite käsitlemine JSP-s on sama, mis JSP-s Java kus haldame erandeid, kasutades Try Catchi plokke. Erinevalt Java, on JSP-s erandeid ka siis, kui koodis pole viga.

JSP erandite tüübid

JSP erandeid on kolme tüüpi:

  1. Kontrollitud erand
  2. Kestusaja erand
  3. Vea erand

Kontrollitud erandid

Tavaliselt on tegemist kasutaja veaga või probleeme, mida arendaja ei näe, nimetatakse kontrollitud eranditeks. Mõned kontrollitud erandite näited on järgmised:

  1. FileNotFoundException: See on kontrollitud erand (kui see üritab faili leida, kui faili kettalt ei leitud).
  2. IO erand: seda märgitakse ka erandiks, kui faili lugemise või kirjutamise ajal ilmnes mõni erand, siis tõstetakse IO erand.
  3. SQLErand: see on ka kontrollitud erand, kui fail on ühendatud SQL andmebaasi ja SQL-andmebaasi ühenduvusega on probleeme, siis tõstatatakse SQLException

Kestusaja erandid

Käitusaja erandid on need, mida programmeerija oleks saanud vältida. Neid eiratakse koostamise ajal. Mõned käitusaja erandite näited on järgmised:

  1. ArrayIndexOutOfBoundsException: see on käitusaegne erand, kui massiivi suurus ületab elemendid.
  2. AritmeetikaErand: See on ka käitusaegne erand, kui on matemaatilisi tehteid, mis pole tavatingimustes lubatud, näiteks arvu jagamine 0-ga annab erandi.
  3. NullPointeri erand: see on ka käitusaegne erand, mis ilmneb siis, kui muutuja või objekt on null, kui proovime sellele juurde pääseda. See on väga levinud erand.

Vead:

Probleem tekib kasutaja või programmeerija kontrolli tõttu. Kui virn üle voolab, võib tekkida tõrge. Mõned näited veast on loetletud allpool:

  1. viga: see viga on visatavate alamklass, mis viitab tõsistele probleemidele, mida rakendus ei suuda tabada.
  2. Instantimise viga: see tõrge ilmneb siis, kui proovime luua objekti, kuid see ei õnnestu.
  3. Sisemine viga: see tõrge ilmneb siis, kui JVM-ist, st Java Virtuaalne masin.

Vigade erandid

See on visatava klassi eksemplar ja seda kasutatakse vealehtedel. Mõned viskamisklassi meetodid on järgmised:

  • Avalik string getMessage() – tagastab teate erandi kohta.
  • Avalik viskatav getCause() – tagastab erandi põhjuse
  • Avalik printStackTrace() – tagastab virnatracerandi e.

Kuidas käsitleda erandeid JSP-s

Siin on näide, kuidas käsitleda erandit JSP-s:

Erand_example.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>

Koodi selgitus:

Erand_example.jsp

Code Rida 1: Siin seame vealehe väärtusele guru_error.jsp, mida kasutatakse vea ümbersuunamisel.

Code Rida 15: võtame muutuja num ja määrame selle väärtuseks 10 ning kontrollime tingimust, kui arv on 10, siis esitame käitusaja erandi koos veatingimuse teatega.

Guru_error.jsp

Code Rida 1: Siin määrame atribuudi isErrorPage väärtuseks tõene.

Code Rida 12: Erand on tekitatud failis exception_example.jsp, kasutades throw-objekti, ja see erand kuvatakse siin, kuna IsErrorPage atribuut on märgitud väärtusega true. Exception-objekti (see on objekt, mis lubab JSP-l pääseda juurde erandi andmetele) abil püüame pinu välja printida.trace veast, mis ilmnes failis exception_example.jsp.

Kui käivitate ülaltoodud koodi, saate järgmise väljundi:

Käsitsege erandit JSP-s

Väljund:

Tekkis erand, mis visati failist exception_example.jsp, kasutades käitusaja erandi throw-objekti, ja me saame ülaltoodud koodi. Samuti kutsutakse välja guru_error.jsp, millest Guru Sellest failist on tekkinud erand.

KKK

JSP erandid on kontrollitud erandid (nt FileNotFoundException, IOException, SQLException), käitusaja erandid (nt ArrayIndexOutOfBounds, ArithmeticException, NullPointerException) ja vead (nt pinu ületäitumine ja sisemised JVM-i vead).

Atribuut „errorPage” nimetab lehe, kuhu erand tuleks ümber suunata. Atribuut „isErrorPage”, mis on sellel sihtlehel seatud väärtusele „true”, võimaldab sellel pääseda juurde erandi kaudsele objektile ja kuvada vea.

Erandi implitsiitne objekt on Throwable'i eksemplar, mis on saadaval ainult vealehtedel (isErrorPage=true). See pakub meetodeid nagu getMessage(), getCause() ja printStack.Trace() veast teatamiseks.

Tehisintellekt saab virna lugeda trace, täpsustage vigane joon, selgitage lihtsas keeles algpõhjus ja pakkuge välja parandus, abiping Arendajad lahendavad JSP erandeid testimise ja koodi ülevaatamise ajal kiiremini.

Jah. Tehisintellekt oskab soovitada, kuhu lisada try-catch plokke või errorPage'i, genereerida korduvkasutatavat errorPage'i ja märgistada kontrollitud ja käsitlemata erandeid, parandades seeläbi JSP-rakenduste töökindlust.

Võta see postitus kokku järgmiselt: