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.

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:
- Excepție bifată
- Excepție de rulare
- 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:
- 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).
- 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ă.
- 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:
- Indicele matricei este în afara limitelor: Aceasta este o excepție de rulare atunci când dimensiunea matricei depășește valoarea element.
- 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.
- 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:
- Eroare: Această eroare este o subclasă de throwable care indică probleme grave pe care o aplicație nu le poate prinde.
- 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.
- 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:
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.

