Bienvenidos.
Continuamos con el manejo de error en Angular, como vimos en el backend.
Las cosas podrían ir mal, especialmente cuando se obtienen datos desde un servidor remoto.
Entonces Angular debería detectar estos errores y poder canalizar o hacer algo con ellos.
Así que nos vamos a ir a clientes y clientes serveis.
Es justamente acá donde estamos trabajando con nuestros datos.
Estamos obteniendo la lógica de negocio desde el backend.
Vamos a partir primero con el cliente por ahí, que sería básicamente cuando mostramos los datos en
el formulario para editar.
Lo primero que necesitamos es un operador.
Lo tenemos que importar.
Lo importamos desde RX 10 operator.
Entonces, después de MAP simplemente agregamos catch error.
Este operador se encarga de interceptar el observable.
El flujo lo intercepta en busca de falla y si falla, obtenemos este objeto de error dentro del operador
en una función de flecha o expresión lanta.
Y de ahí lo podemos manejar y podemos hacer lo que queramos con él.
Tenemos que utilizar el método Pipe.
Dentro mtodo pibe, acá podemos tener todos los operadores del flujo catch erros.
Obtenemos el error lo estamos recibiendo por argumento en la función de flecha o anónima y acá lo podemos
manejar.
Perfecto.
Y ahora, cómo detecta o canaliza este error?
A través del estado del status de la respuesta?
Recordemos que estamos retornando en Spring, en el Wacken, cuando no encuentra el objeto o el registro
por SAIDI, retornamos un 404 not found o si ocurre un error más complicado.
Aniel de hace rato en el servidor retornamos un Internal Server error un error 500 a través de este
operador se encarga de detectar estos código de errores de la respuesta y lo encapsula dentro del erros
acá y por supuesto dentro de esta función de flecha o expresión lambda.
Acá lo manejamos como por ejemplo podríamos mostrar el error en la ventanita es igual de switch alert.
Entonces acá tenemos que importar este componente.
Perfecto, como primer parámetro, algún título para el error, por ejemplo, error al editar como segundo
argumento el mensaje error que contiene la excepción.
Acá el objeto error que estamos recibiendo desde el Wacken.
Acá tenemos el atributo error.
Este sería el atributo y acá tenemos el mensaje que fue justamente el que pasamos en el back y del tipo
erro, para que Sual nos muestre con una ventanita de error en nuestra aplicación.
Y tenemos que retornar el lanzamiento.
Este error, pero en un tipo observable.
Y para eso usamos una función que nos permite convertir este error en un observable.
Entonces tenemos que importar acá en RX 10.
Recordemos que acá tenemos todas las funciones para convertir o crear un observable fru error.
Entonces acá usamos el fru error y pasamos este objeto.
El error.
El.
También podríamos mostrar el error, el mensaje en la consola, en la consola del navegador.
Recordemos que en Angular el punto y coma es opcional, mejor dicho, en ta escrita que Angular utiliza
TypeScript como lenguaje, pero recomendable por buena práctica incluirle bien.
Y qué faltaría, ahí estamos manejando el error.
Pero lo ideal es que cuando ocurra, por ejemplo, si estás meditando un cliente que no existe, la
idea es que retorne o regrese al listado cliente.
Entonces tenemos que utilizar el router para redirigir a clientes al listado.
Vamos a importar entonces
import router from angular con el arroba router puntico.
Ahora podemos inyectar en el constructor de la clase servis este objeto
router del tipo rota y ahora con este objeto router justo al principio.
Antes que nada ocurre error.
Lo capturamos.
Íbamos a redirigir al cliente.
Perfecto.
Vamos a guardar y estamos ok.
Vamos a alentar primero el Wacken.
Así que nos vamos a Eclipse.
Y en el terminal nos vamos a la red del proyecto y levantamos con endi ser menos o para abrir el navegador.
Acá estamos.
Así que vamos a editar acá estaban el formulario y estamos buscando el cliente por el hasta momento
cliente fuiste.
Por lo tanto no hay ningún error, pero si colocamos, por ejemplo, 14.
Y automáticamente captura el error a través del usual el error.
Esta ventanita del tipo error el cliente y di 14 no existen.
Justamente el error que enviamos en el piquet cuando ocurre el error y por el lado cliente lo mostramos
redirigir amos al lithops.
Cliente Bien.
Y acá me comí el mensaje.
Faltó la e vamos a guardar para que también lo muestre correctamente en la consola.
Volvemos.
Vamos a editar nuevamente y catos.
Y ahora si también aparece el mensaje en la consola.
Bien, entonces quedamos hasta acá y como siempre.
Cualquier duda que tengan escríbela.
Publicarla.
La pregunta en el foro nos vemos.