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:
- 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.
- Public throwablegetCause() – returnează cauza excepției
- Public printStackTrace()– returnează stacktrace a 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
Linia de cod 1: Aici setăm pagina de eroare la guru_error.jsp, care va fi folosită atunci când eroarea va fi redirecționată.
Linia de cod 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
Linia de cod 1: Aici setăm isErrorPageattribute la true.
Linia de cod 12: Excepția a fost ridicată în exception_example.jsp folosind throw object și acea excepție va fi afișată aici, deoarece atributul IsErrorPage este marcat ca adevărat. Folosind excepția (acesta este un obiect care permite accesarea datelor de excepție de către JSP.) obiect încercăm să tipărim stacktrace 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:
A fost ridicată excepția care a fost aruncată din exception_example.jsp folosind throw object al excepției de rulare și obținem codul de mai sus. De asemenea, este apelat guru_error.jsp din care a apărut o excepție Guru din acest fișier.
Rezumat
- Excepțiile în JSP apar atunci când există o eroare în cod fie de către dezvoltator, fie o eroare internă din sistem.
- Excepțiile în JSP sunt de 3 tipuri: excepții verificate, excepții de rulare și excepții de eroare
- Excepția verificată este în mod normal o eroare a utilizatorului sau problemele care nu sunt văzute de dezvoltator sunt denumite excepții verificate.
- Excepțiile de rulare sunt cele care ar fi putut fi evitate de programator. Ele sunt ignorate la momentul compilarii.
- Excepția de eroare este o instanță a clasei throwable și este folosită în paginile de eroare.