Bienvenidos.
Vamos a ver un nuevo tema, una nueva sección dedicada al manejo de errores en sprint.
Todos los detalles y todos los relacionados.
Pero la idea es verlo de forma independiente, ver desde un proyecto, desde cero, sin mezclar con
los demás ejemplos que teníamos en el curso.
La idea de centrarnos solamente en el manejo de error con los casos más importantes.
Entonces, como siempre, vamos a crear un proyecto con New Spring State Project.
Le damos un nombre.
Error Springwood error.
Todo lo demás igual, excepto el package de Java.
Cambiamos horario acá por error y todo lo demás igual.
Siguiente.
Y la dependencia?
Bueno, acá tiene memoria.
Es Printer Tools, Spring, Butt-Head, Tools, Spring, Web y Tamblin.
Lo seleccionamos lo típico y finalizar bien.
Bueno, estos errores también son típicos.
Recuerden que con click derecho maven a project.
Marcamos estos dos okei y se soluciona bien.
Vamos a cerrar todo.
Vamos a ir a error a Springwood.
Error.
Vamos a partir crean un paquete.
Bueno, lo mismo de siempre, me van a disculpar por repetir también estos pasos, pero necesario para
crear un controlador y también para probar el tema error.
Y como explicaba, quería en un proyecto distinto y no utilizar los proyectos anteriores para no mezclar
los conceptos y ver solamente el manejo de error en este proyecto con diferente caso, sin ensuciar
los demás proyectos.
Con este código de manejo error, por ejemplo un formulario no solamente en un proyecto distinto, independiente,
aunque de todas formas se implementa, se pueden implementar en cualquier proyecto, en cualquiera.
Bien.
Vamos a crear también el controlador, el App Controller o el nombre que quieran.
Porque a lo mismo.
Anotamos.
Importamos y método Andra.
Por ejemplo, mapeados solamente a index.
Nada más.
Importaras.
Se fijan y estamos listos.
Rápidamente creamos el proyecto, creemos un controlador y retornamos ennombre la dicta la vista, no
la tenemos.
Bueno, y justamente acá me quiero detener, porque la vista en realidad no la vamos a crear.
Un controlador con un método Handler, pero sí una vista.
Qué pasa?
Qué va a suceder?
Bueno, obviamente va a lanzar un error.
Levantamos.
Guardamos el controlador.
Ok.
Se fijan un error de status 500 muy importante, error 500.
Bueno, una serie cosa, pero lo más importante detectar el mensaje.
El error error resolviendo template index no existe o no se puede acceder, no se puede leer en la configuración.
Bueno, podemos manejar esta página por defecto, esta página que propone Springwood o página en blanco
error.
Y esto lo podemos personalizar, lo podemos hacer mucho más amistoso al usuario.
Bueno, en realidad es bastante simple manejar una página por defecto, aunque tenemos la forma simple,
pero también una forma un poco más customizado.
Vamos a ver las dos, pero bien, por ahora vamos a quedar hasta acá y continuamos en la siguiente clase
manejando el error 500 para cualquier tipo, 500 independiente.
Si es un error de que no existe template a la vista, un error relacionado con un Ámber.
Fórmate Septón, por ejemplo, si queremos convertir un string a un integer, pero el string no es numérico.
Por ejemplo, es un texto lanza un number format deception, un error 500.
También lo puedo manejar también en esta página personalizada o por ejemplo, si abrimos un número X
por cero también.
Finalmente es infinito.
Lanza una excepción que no se puede dividir por cero también.
Error 500.
En general, cualquier lanzamiento excepción de Ranting va a generar este tipo de error 500 y lo podemos
personalizar de forma global para cualquier tipo de error 500 o bien personalizar cada una de estas
opciones.
Es decir, que si ocurre una división por cero, tener su propia página por si ocurre un number forma,
deception manejar esas opciones.
Si ocurre un error relacionado a templates, lo mismo podemos manejar esta excepción.
Template input exception está la excepción que está lanzando.
Entonces, alguna forma podríamos tener un controlador especializado para manejo errores que captura
esta sección y la muestra de forma independiente personalizada solamente para el error que no existe
la vista, el template o errores relacionado con base dato de conexiones data access, exception, en
fin, cualquier tipo error y también bueno, el clásico 404 también lo puedo manejar y también lo vamos
a ver cuando no existe el recurso, no existe la página.
Por ejemplo, si quiero acceder acá.
Bueno, de hecho la raíz.
Bueno, la raíz no está mapeado 404 se fijan, no existe.
O por ejemplo clientes.
La ruta cliente tampoco existe un 404.
Podremos personalizar esta página para que sea mucho más amistosa.
No sé, un mensaje que diga lo sentimos, esta página no existe.
En fin, continuamos en la siguiente clase.