La idea es personalizar ahora una acepción en particular.
Por ejemplo, acá, cuando se dié por cero se lanza un aritméticos exception porque está moviendo por
cero, por lo tanto el resultado es indeterminado, infinito.
Entonces la idea de manejar este error en una lista propia y personalizada para esta acepción.
Bueno, y cómo se maneja creando controlador, un controlador especial?
Entonces se controllers vamos a crear una clase herror handler de manejar controller este nombre que
le puse yo, pero le pueden colocar el nombre que quieran.
Da lo mismo.
Error Controller exepción controller o manejar error controller.
Cómo quieran da lo mismo.
Ahora típicamente se le llama error handler en inglés de manejar.
Error el controlador finalizar.
Bien, pero acá no se anota con Controller.
No nos anotá con controles sanata, con controller advice.
Y eso es la diferencia.
Y es importante porque lo que hace anotaciones, manejar errores, las excepciones.
Por lo tanto, captura los lanzamientos, decepción y lo manejamos en un método en realidad parecido
también al controlador común y corriente que está mapeado a una ruta.
°L Pero la diferencia es que acá no se mapea a una ruta si no se mapea a una excepción.
Cuando se lanza esta sección, automáticamente se mapea a un método.
Y este método lo manejamos como una vista, como un método handler y ahí lo podemos personalizar.
Y por argumento este método se pasa bueno, la excepción y también puedo pasar el objeto model para
pasar datos a la vista personalizada.
En fin, acá podemos hacer lo que queramos.
Bien, entonces vamos a crear un método que le vamos a llamar aritmética.
Error.
Bueno, retorna un streak, igual que un método del controlador, un método handler en nombre lavista.
Entonces aritmética error.
Bueno, se lanza el error exception del tipo septón.
Le vamos a llamar X de excepción koma moder.
Importamos?
Qué faltaría?
Bueno, primero en retornar el estric que evita la vita ta ubicada en error.
Entonces, ÂQuÃ error?
La carpeta.
El directorio es el larch, el nombre de habité que le damos a colocar, por ejemplo, aritmética.
Entonces, en la carpeta Error acaba Cines El Arte.
Al principio solamente entre carpeta.
Bueno, igual que siempre, porque tenemos un directorio dentro de templates.
Error larch, aritmética ennombre la vista que la vamos a crear.
Pero bien, ahora tenemos que mapear acá este método del controlador o Andrés, pero no con Quiet Mapping,
ni con post mapping, ni con nada relacionado a una ruta.
°L Más bien se mapea a una excepción.
Acá tenemos Exception Andras, indicamos el nombre de la excepción.
Bueno, recordemos que se lanzaba aritmética Exception.
De hecho lo podríamos revisar acá lo tenemos aritméticos ecepto.
Entonces copiamos este nombre de la acepción o la escribimos y debe ir acá toclas.
Incluso un método puede capturar más de una.
Entonces, en vez de usar por ejemplo una sola, podríamos usar con las llaves un arreglo y separar
por coma las excepciones.
Entonces pueden ser con las llaves para varias o una sola.
Y el tipo que se retornÃ acá o que se pasa por argumento puede ser del tipo genérico excepción Exception.
O bien el tipo más concreto aritmética, cualquiera de las dos.
Bueno, Aritmética 3 su propia implementación, que al final hereda de ragtime exception y ragtime en
acepción de tiempo ejecución hereda de exepción.
Jerarquía.
Pero bueno, entonces acá con el model puntó, como siempre atributo, pasamos datos, por ejemplo error
ni le damos su mensaje error, error de aritmética.
Acá sobra un R error de aritmética.
También otro más message el mensaje bueno del objeto exepción, punto get message.
Con más detalle también, por ejemplo, estatus.
Por ejemplo, http status.
Por acá buscamos acá de Spring Framework http status.
Es un.
En un numerador.
Punto.
Y acá buscamos el 500.
Creo que es internal por acá internal server error y por acá valio.
El valor, que es un entero bueno, al final es 500, va a retornar un valor 500 de 500 Internal Server
error.
Entonces el Valeo un entero con el número 500.
Y qué me faltaría?
Bueno, esto es un ejemplo, no tiene que ser exactamente igual.
Acá colocamos los datos que queremos mostrar en la página de RO para personalizar timestamp la fecha.
Te lleva útil, te fijan los mismos atributos que más o menos maneja la página 500 y 400.
Entonces guardamos, vamos a copiar, por ejemplo, la 500.
La vamos a pegar.
Le vamos a llamar aritmética dentro de error.
Entonces copiamos y pegamos dentro de error la 500.
Aritmética.
Mismo nombre que tiene acá aritmética, aritmética.
Bueno, parecido, pero el error que está en el DIF lo voy a cortar acá.
Corto el TH text con el error voy a eliminar el div.
Lo voy a dejar acá.
Y en el título también Arria.
Esto le quitamos, lo quitamos.
Dejamos mensaje, estatus y la fecha.
Y esto lo quitamos.
Guárdanos eso sería más o menos algo sencillo, pero lo podemos personalizar a nuestro gusto, incluso
puede ser con diseño de busta, con hoja de estilo.
En fin, como queramos.
Vamos a revisar.
Ya tengo levantado el Wacken de la clase anterior.
El proyecto de Springwood error y voy a actualizar acá debería cambiar.
Ahora ya no se muestra la página de error por defecto 500, sino la de aritmética.
La personalizada debiese capturar esta excepción.
Entonces actualizamos.
Perfecto.
Error de aritmética dividido por cero 500 y la fecha y también podremos agregar cualquier mensaje que
queramos o cambiar esto.
En fin, podemos hacer lo que queramos personalizar solamente para aritmética que le damos hasta acá.
Continuamos en la siguiente clase.