Manejo de excepciones en JSP
⚡ Resumen inteligente
El manejo de excepciones en JSP gestiona los errores que ocurren durante la ejecución del código, de forma similar a Java Bloques try-catch. Las excepciones se clasifican en tres tipos: verificadas, de tiempo de ejecución y de error. Las páginas JSP utilizan los atributos errorPage e isErrorPage para redirigir y mostrar las excepciones.
¿Qué es la excepción en JSP?
Excepciones en JSP ocurren cuando hay un error en el código ya sea por parte del desarrollador o un error interno del sistema. El manejo de excepciones en JSP es el mismo que en Java donde gestionamos excepciones utilizando bloques Try Catch. A diferencia de Java, también hay excepciones en JSP cuando no hay ningún error en el código.
Tipos de excepciones en JSP
Las excepciones en JSP son de tres tipos:
- Excepción marcada
- Excepción en tiempo de ejecución
- Excepción de error
Excepciones marcadas
Normalmente, se trata de un error del usuario o de problemas que el desarrollador no detecta y se denominan excepciones comprobadas. Algunos ejemplos de excepciones comprobadas son:
- Excepción de archivo no encontrado: Esta es una excepción marcada (donde intenta encontrar un archivo cuando no se encuentra en el disco).
- Excepción de E/S: Esta también es una excepción marcada. Si se produce alguna excepción durante la lectura o escritura de un archivo, se genera la excepción IO.
- Excepción SQL:Esta también es una excepción marcada cuando el archivo está conectado con SQL base de datos, y hay un problema con la conectividad de la base de datos SQL, entonces se genera SQLException
Excepciones de tiempo de ejecución
Las excepciones de tiempo de ejecución son aquellas que el programador podría haber evitado. Se ignoran en el momento de la compilación. Algunos ejemplos de excepciones de tiempo de ejecución son:
- ArrayIndexOutOfBoundsExceptionArrayIndexOutOfBoundsException: Esta es una excepción de tiempo de ejecución cuando el tamaño de la matriz excede el elementos.
- excepción aritmética: Esto también es una excepción de tiempo de ejecución cuando hay operaciones matemáticas que no están permitidas en condiciones normales, por ejemplo, dividir un número entre 0 generará una excepción.
- Excepción de puntero nulo: Esta también es una excepción de tiempo de ejecución que se genera cuando una variable o un objeto es nulo cuando intentamos acceder al mismo. Esta es una excepción muy común.
Errores:
El problema surge debido al control del usuario o del programador. Si la pila se desborda, puede producirse un error. A continuación se enumeran algunos ejemplos de errores:
- Error: Este error es una subclase de throwable que indica problemas graves que una aplicación no puede detectar.
- Error de creación de instancias: Este error ocurre cuando intentamos crear una instancia de un objeto y no lo logra.
- Error interno: Este error ocurre cuando se produce un error desde JVM, es decir. Java Virtual Machine.
Excepciones de errores
Es una instancia de la clase throwable y se utiliza en páginas de error. Algunos métodos de la clase throwable son:
- Cadena pública getMessage() – devuelve el mensaje de la excepción.
- Public throwable getCause() – devuelve la causa de la excepción
- Pila de impresión públicaTracmi() – devuelve la pilatrace de la excepción.
Cómo manejar la excepción en JSP
A continuación se muestra un ejemplo de cómo manejar excepciones en JSP:
Excepción_ejemplo.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>
Explicación del código:
Excepción_ejemplo.jsp
Code Línea 1: Aquí estamos configurando la página de error en guru_error.jsp, que se utilizará cuando se redirija el error.
Code Línea 15: Estamos tomando una variable num y configurándola en 10 y verificando una condición si num es 10 y luego lanzamos una excepción de tiempo de ejecución con el mensaje como condición de error.
Guru_error.jsp
Code Línea 1: Aquí estamos estableciendo el atributo isErrorPage en verdadero.
Code Línea 12: La excepción se ha generado en exception_example.jsp utilizando el objeto throw, y esa excepción se mostrará aquí ya que el atributo IsErrorPage está marcado como verdadero. Usando el objeto exception (este es un objeto que permite que el JSP acceda a los datos de la excepción) estamos intentando imprimir la pila.trace del error que se produjo en exception_example.jsp.
Cuando ejecuta el código anterior, obtiene el siguiente resultado:
Salida:
Se ha generado la excepción que se lanzó desde exception_example.jsp usando el objeto throw de excepción de tiempo de ejecución y obtenemos el código anterior. También se llama a guru_error.jsp desde donde Guru Se ha producido una excepción en este archivo.


