Gestionarea excepțiilor în JSP

⚡ Rezumat inteligent

Gestionarea excepțiilor în JSP gestionează erorile care apar în timpul execuției codului, similar cu Java Blocuri try-catch. Excepțiile se împart în trei tipuri: verificate, în timpul execuției și de eroare. Paginile JSP utilizează atributele errorPage și isErrorPage pentru a redirecționa și a afișa excepții.

  • ⚠️ Excepție definită: O eroare în timpul execuției JSP, tratată ca Java încercare-prindere.
  • 🗂️ Trei tipuri: Excepții verificate, în timpul execuției și de eroare.
  • 🧾 Verificat: FileNotFoundException, IOException și SQLException trebuie gestionate.
  • 🧨 Runtime: ArrayIndexOutOfBounds, ArithmeticException și NullPointerException.
  • 🛟 eroarePagină / esteEroarePagină: Redirecționează erorile către o pagină care imprimă stiva de excepții trace.

Gestionarea excepțiilor în JSP

Ce este excepția în JSP?

excepţii de în JSP apar atunci când există o eroare în cod fie de către dezvoltator, fie o eroare internă din sistem. Gestionarea excepțiilor în JSP este aceeași ca în Java unde gestionăm excepțiile folosind blocurile Try Catch. Spre deosebire de Java, există excepții în JSP și atunci când nu există nicio eroare în cod.

Tipuri de excepții în JSP

Excepțiile în JSP sunt de trei tipuri:

  1. Excepție bifată
  2. Excepție de rulare
  3. Excepție eroare

Excepții verificate

În mod normal, este o eroare de utilizator sau problemele care nu sunt văzute de dezvoltator sunt denumite excepții verificate. Câteva exemple de excepții verificate sunt:

  1. FileNotFoundException: Aceasta este o excepție verificată (unde încearcă să găsească un fișier atunci când fișierul nu este găsit pe disc).
  2. Excepție IO: Această excepție este de asemenea verificată dacă a apărut vreo excepție în timpul citirii sau scrierii unui fișier, atunci excepția IO este ridicată.
  3. SQLException: Aceasta este, de asemenea, o excepție bifată atunci când fișierul este conectat SQL baza de date și există o problemă cu conectivitatea bazei de date SQL, atunci SQLException este ridicată

Excepții de rulare

Excepțiile de rulare sunt cele care ar fi putut fi evitate de programator. Ele sunt ignorate la momentul compilarii. Câteva exemple de excepții de runtime sunt:

  1. Indicele matricei este în afara limitelor: Aceasta este o excepție de rulare atunci când dimensiunea matricei depășește valoarea element.
  2. Excepție aritmetică: Aceasta este, de asemenea, o excepție de rulare atunci când există operații matematice, care nu sunt permise în condiții normale, de exemplu, împărțirea unui număr la 0 va da o excepție.
  3. NullPointer Excepție: Aceasta este, de asemenea, o excepție de rulare care este ridicată atunci când o variabilă sau un obiect este nul atunci când încercăm să accesăm același lucru. Aceasta este o excepție foarte comună.

Erori:

Problema apare din cauza controlului utilizatorului sau programatorului. Dacă stiva se depășește, atunci poate apărea o eroare. Câteva exemple de eroare sunt enumerate mai jos:

  1. Eroare: Această eroare este o subclasă de throwable care indică probleme grave pe care o aplicație nu le poate prinde.
  2. Eroare de instanțiere: Această eroare apare atunci când încercăm să instanțiem un obiect și nu reușește să facă asta.
  3. Eroare internă: Această eroare apare atunci când a apărut o eroare de la JVM, de exemplu Java Mașină virtuală.

Excepții de eroare

Este o instanță a clasei throwable și este folosită în paginile de eroare. Unele metode ale clasei aruncabile sunt:

  • șir public getMessage() – returnează mesajul excepției.
  • Funcția publică aruncabilă getCause() – returnează cauza excepției
  • PrintStack publicTrace() – returnează stivatrace al excepției.

Cum se gestionează excepția în JSP

Iată un exemplu despre cum să gestionați excepția în JSP:

Exception_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>

Explicația codului:

Exception_example.jsp

Code Linia 1: Aici setăm pagina de eroare la guru_error.jsp, care va fi folosită atunci când eroarea va fi redirecționată.

Code Linia 15: luăm o variabilă num și o setăm la 10 și verificăm o condiție dacă num este 10, apoi să aruncăm o excepție de rulare cu mesajul ca condiție de eroare.

Guru_error.jsp

Code Linia 1: Aici setăm atributul isErrorPage la true.

Code Linia 12: Excepția a fost generată în exception_example.jsp folosind obiectul throw, iar excepția respectivă va fi afișată aici, deoarece atributul IsErrorPage este marcat ca fiind true. Folosind obiectul exception (acesta este un obiect care permite accesarea datelor de excepție de către JSP), încercăm să imprimăm stiva.trace a erorii care a apărut în exception_example.jsp.

Când executați codul de mai sus, obțineți următoarea ieșire:

Gestionați excepția în JSP

ieșire:

Excepția a fost ridicată, fiind generată de exception_example.jsp folosind obiectul throw al excepției de execuție și obținem codul de mai sus. De asemenea, este apelat guru_error.jsp, din care Guru A apărut o excepție din acest fișier.

Întrebări frecvente

Excepțiile JSP sunt excepții verificate (cum ar fi FileNotFoundException, IOException, SQLException), excepții la runtime (cum ar fi ArrayIndexOutOfBounds, ArithmeticException, NullPointerException) și erori (cum ar fi depășirea stivei și erorile interne JVM).

Atributul errorPage denumește pagina către care ar trebui redirecționată o excepție. Atributul isErrorPage, setat la true pe pagina țintă, îi permite să acceseze obiectul implicit al excepției și să afișeze eroarea.

Obiectul implicit de excepție este o instanță a lui Throwable disponibilă doar pe paginile de eroare (isErrorPage=true). Expune metode precum getMessage(), getCause() și printStack.Trace() pentru a raporta eroarea.

IA poate citi o stivă trace, identificați linia defectă, explicați cauza principală în limbaj simplu și sugerați o soluție, ajutorping Dezvoltatorii rezolvă excepțiile JSP mai rapid în timpul testării și revizuirii codului.

Da. Inteligența artificială poate recomanda unde să se adauge blocuri try-catch sau o pagină de eroare, poate genera o pagină de eroare reutilizabilă și poate semnala excepțiile verificate netratate, îmbunătățind robustețea aplicațiilor JSP.

Rezumați această postare cu: