Bien vamos a ver a continuación otro tipo de directivas dentro de los Côté.
Vamos a continuar con nuestro mismo ejercicio de ejemplo Excel JSP y vamos a poner un ejemplo que nos
genera un error por ejemplo en lugar de proporcionar una fecha válida como en este caso que hemos proporcionado
una ciudad vamos a proporcionar por ejemplo la cadena cualquier cadena que nos pueda generar un error
por ejemplo el valor de 500 sin embargo para soportar este valor de 500 tenemos que agregar una sobrecarga
del método formal así que vamos a nuestra clase de conversiones y vamos a agregar una sobrecarga de
este método podemos apoyarnos de este código ya ha generado y en lugar de recibir un dato recibimos
un tipo de string
ya que el método format también puede recibir un string Podemos que puede recibir un Daguet o un noviete
así que en este caso está recibiendo un Object de tipo string y con esto ya puede soportar un valor
de tipo String.
Sin embargo este valor no es un valor correcto ya que este no es un valor de fecha sin embargo no hemos
definido qué sucede en caso de error vamos a guardar cambios ejecutamos
y qué pasa si queremos ejecutar así nuestro reporte.
Vamos a dar click podemos se va que nos manda un error nos indica que no puede dar formato al tipo horiek
proporcionado como una fecha ya que no es un valor válido y nos manda la excepción.
Sin embargo esto nos genera un error de tipo €500 de tipo HTTP marcándonos Internal Server Error así
que en este momento ya no es posible recuperarnos de este error ya que ya falló nuestra aplicación lo
que vamos a hacer es declarar nosotros un JSP que pueda manejar las excepciones y no que sea el servidor
de aplicaciones quien mande.
Esta excepción ya que en este momento ya no es posible recuperarnos no es una página que podamos nosotros
controlar esto ya es debido a un error que se ha provocado internamente en el servidor así que vamos
a indicar nosotros un JSP que pueda mostrar esta excepción y así poder recuperarnos o regresar y proporcionar
otro valor.
En dado caso de que sea posible bien vamos a agregar lo siguiente Entonces suponiendo que estemos proporcionando
un valor erróneo vamos a indicar cuál es el JSP que puede procesar la excepción para ello vamos a agregar
la directiva
vamos a utilizar la directiva de paso y posteriormente el atributo de error.
Con esto vamos a indicar el JSP que puede manejar las excepciones.
Sin embargo estos JSP de manejo de errores es recomendable que sean JSP privados y para que sea un JSP
privado es decir que no sea accesible desde el navegador directamente.
Entonces lo recomendable es que esté dentro de la carpeta de web INF todos los lotes de pez y recursos
que estén dentro de la carpeta de web INF no van a poder ser accesibles directamente desde el navegador
sino que solamente los componentes de nuestra aplicación.
Como en este caso los jote Sepes u otro servlet puede acceder a información dentro de la carpeta de
web info así que en este caso vamos a agregar un JSP de error dentro de Waypoint vamos a crearlo damos
clic derecho no seleccionamos JSP y el JSP se va a llamar manejo errores puntos JSP dejamos los demás
valores por default y damos clic en Finalizar
bien así que con eso se ha generado nuestro JSP.
De momento vamos a dejarlo así y ahora vamos a terminar de asociarlo desde la página de reporte que
sea el punto JSP vamos a indicar que este JSP de error Peus el que va a procesar las excepciones está
dentro de la carpeta de web INF diagonal y Podemos se va que nos despliega los archivos que se encuentran
dentro de este folder.
Seleccionamos el JSP de manejo de errores y con esto ya estamos indicando que en dado caso de que se
provoque algún error dentro de este JSP se va a redirigir el flujo hacia la página de error JSP llamada
manejo errores puntos JSP y como hemos comentado si quisiéramos acceder directamente este JSP desde
el navegador no es posible ya que como se encuentra dentro del folder de web INF no podemos acceder
directamente.
Ahora vamos a agregar el siguiente código a nuestro JSP manejo errores vamos a quitar esa directiva
y lo primero que vamos a hacer es indicar que esta página es la página que va a manejar errores.
Por lo tanto vamos a utilizar la directiva de Pach utilizando el atributo ish error Page e indicamos
el valor de Chú por default todos los Côté Sepes tienen el valor de Foz en este atributo ya que no son
páginas que procesen errores.
Ahora una vez que hemos indicado esto entonces vamos a tener acceso directo al objeto implicito llamado
exception.
Esto lo vamos a utilizar a continuación pero en dado caso de que no agreguemos esa directiva entonces
no vamos a tener acceso al objeto exception el cual es el que tiene la excepción que se ha generado
desde el otro JSP y vamos a importar la clase utilizamos la directiva de país para importar la siguiente
clase todo el paquete Java y o
punto asterisco ya que vamos a utilizar la clase de primero Reiter para imprimir la acepción que se
lanzó posteriormente modificamos nuestro título este es el JSP de manejo de errores
obviamente aquí podemos agregar cualquier contenido HTML ya que lo importante es desplegar el mensaje
que ocurrió la excepción que se lanzó
hagamos un salto de línea y mandamos el mensaje ocurrió una excepción dos puntos y posteriormente por
medio de una expresión
accedemos al mensaje que se ha lanzado podemos utilizar directamente el objeto exception debido a que
hemos indicado en este JSP que va a ser el JSP que trabaja las decepciones.
Posteriormente solicitamos el mensaje y con esto ya podemos observar la excepción.
Sin embargo esto es únicamente el mensaje genérico si queremos ver el detalle vamos a hacer lo siguiente
Vamos a imprimir los detalles utilizamos la etiqueta de pre
para que no agregue ningún formato dentro del contenido que vamos a arrojar que es la pila de excepciones
es decir todo el detalle de la acepción.
Accedemos a nuestro objeto implicito exception mandamos a llamar el método.
Esta actuáis pero esta pila de excepciones la vamos a arrojar dentro de la variable a otra.
Para hacer esto creamos un nuevo objeto de tipo plim Reiter y por medio de la variable implícita.
Vamos a mandar a imprimir la pila decepciones utilizando esta variable a otro y cerramos nuestro destruible
Punto y Coma ya que estamos dentro de un described y es código IAVA bien así que con esto este JSP está
mandando el mensaje genérico y posteriormente toda la pila de excepciones.
Ahora esto lo vamos a agregar dentro de un text area
para que en dado caso también podamos dar formato indicando el número de columnas por ejemplo 30 columnas
y también el número de renglones por ejemplo 5 renglones y así no crezca demasiado en nuestra página
sino que esté controlado la información que estamos enviando y vamos a revisar.
Recordemos que estamos generando una excepción en nuestro JSP de reporte Excel estamos mandando un dato
incorrecto una fecha inválida vamos a guardar cambios hacemos un cambio
y ejecutamos
damos clic en nuestro reporte y podemos observar que no está desplegando correctamente la información
entonces no es posible redirigir a la página de error al JSP así que tenemos que hacer un cambio dentro
de nuestra página reporte Excel.
En lugar de indicar que se va a descargar este archivo vamos a indicar el atributo de inline para que
esta información se muestre en línea y con ese atributo ya podemos redirigir hacia el JCP.
En caso de error va a funcionar exactamente igual pero en el caso de que tuviéramos attachment ya no
es posible redirigir al JSP de error.
Solamente con este atributo de inline vienen con esto ya tenemos los cambios de pleno los vamos a utilizar
de momento vamos a quitarlo únicamente vamos a manejar nuestro Tex àrea bien con esto ya tenemos nuestro
código guardamos cambios y ejecutamos si damos clic sobre el reporte.
Podemos observar que nos redirige al JSP de error manejo de errores nos explica el mensaje ocurrió una
excepción no puede dar formato al tipo especificado y podemos observar la pila de excepciones en la
clase de format en la línea indicada.
Está ocurriendo el error y también si revisamos nuestra clase de conversiones en la línea de 16 ahí
es donde está ocurriendo el error y también en el asociado en la línea 73 así que tenemos todo el detalle
de esta excepción para poder revisarla y corregirla.
Obviamente nosotros ya sabemos que es debido a que hemos proporcionado un objeto que no es una fecha
válida.
Pero si proporcionamos un valor correcto como el valor que ya teníamos anteriormente ni un new Droit
guardamos cambios ejecutamos
podemos ver que se genera correctamente el reporte
así que sigue funcionando sin ningún problema pero como hemos visto si proporcionamos un valor erróneo
como la cadena €500 entonces esto si lo ejecutamos podemos observar que nos está mandando a la recepción
pero nuestra aplicación ya no termina de manera errónea sino que estamos capturando esta excepción la
estamos procesando y estamos indicando cuál es la sección que debemos de corregir así que en este caso
nuestra aplicación no se ha terminado de manera abrupta sino que estamos controlando esta excepción.
Ahora vamos a hacer un cambio por ejemplo si no indicamos esta directiva de error Peus en esta página
guardamos cambios
refrescamos y ejecutamos.
Podemos observar que nos manda la excepción de que la variable exception no está disponible en este
JSP.
Eso debido a que esta variable directamente no está disponible en los jote Sepes únicamente va a estar
disponible si especificamos que ésta es una página que maneja las decepciones.
Una página de error.
De lo contrario no vamos a poder acceder a este objeto exception una vez que agregamos nuevamente esta
directiva podemos ver que podemos acceder al objeto exception sin ningún problema
y nos despliega el país completo también sin ningún problema
bien así que con esto estamos viendo el manejo de errores y esto lo aplicamos utilizando las directivas
de JSP.
Eso es todo por esta elección y nos vemos en el siguiente video.
Saludos.