Control de Errores
Last updated
Was this helpful?
Last updated
Was this helpful?
En esta parte vamos a revisar un punto adicional es una redirección especial, hacia pÔginas de errores, spring por defecto cuando no se encuentra un recurso nos muestra la siguiente pÔgina .
Esta pĆ”gina de error la provee por defecto spring boot, y estĆ” configurada para que se muestre por defecto, recordemos estamos usando una versión base de tomcat, entonces esa no serĆa la pĆ”gina que verĆamos al no encontrarse el recurso en el servidor.
Ahora tenemos la opción de crear una pÔgina personalizada, la cual serÔ la que reemplazarÔ a la pÔgina por defecto del spring boot, para ello solo debemos de crear una carpeta llamada error dentro de la carpeta template de nuestro proyecto, por defecto Spring verifica si esta carpeta y dentro de ella existe un archivo con nombre igual al código de error que se debe mostrar para este caso debe existir el archivo 404.html en la siguiente imagen se muestra el ejemplo de una pÔgina personalizada
En este caso en nuestro proyecto debe estar con la siguiente estructura.
Como vemos ahà estÔ la carpeta error y el código fuente del código del archivo 404.html, podemos hacer lo mismos con los errores 500, con solo agregar un archivo con el nombre 500.html, spring mostrara nuestra vista personalizada.
Realicemos un ejemplo de código que nos lance en error 500 en la respuesta creamos un controlador nuevo y agregamos el siguiente código
vamos al navegador y escribimos la siguiente ruta
obtendremos el siguiente resultado en la vista
En nuestro proyecto la estructura queda de la siguiente manera.
Ahora en este caso cuando se da un error, en el server se lanza una traza con los errores que se generan y por lo cual se lanza el error del tipo 500,
Podemos agregar un controlador para poder facilitar el manejo de dicha información a la hora que se genera algún tipo de excepción en el servidor para ello vamos a crear un nuevo controlador con el siguiente código .
Al agregar este controlador y ejecutamos alguna pÔgina con error ya no se genera la traza por defecto en el servidor, esto es porque estamos definiendo que tendremos el control de esta información con el controlador que acabamos de crear.
A la hora de ejecutar nuestros códigos es importante tener una bitÔcora de información que nos sirva para poder tener nociones de las ejecuciones de los procesos, advertencias, y muestra de errores con un nivel de información que pueda ser útil para los administradores de las aplicaciones, es por ello que es bueno agregar elementos que nos permitan lanzar estas trazas o logs para que al ejecutarse tengamos esa información de manera mas controlada y ordenada.
Vamos a realizar un ejemplo del uso de uso de log, estos logs se manejan a nivel de consola, no se guardan solo son información que quedan mientras el servidor esté funcionando, en nuestro controlador de ejemplo de manejo de los errores lo modificamos de esta forma .
Al ejecutar el servidor y hacemos la prueba ingresando a la url
Obtendremos la pÔgina de error personalizada pero si vamos a la consola del servidor en ejecución vemos lo siguiente
En los logs podemos manejar diferentes tipos o niveles de logs que van desde nivel de información, o errores. Del desarrollo que hacemos depende el uso de cada nivel de uso de logs o la información que debemos mostrar.