"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Manejo de errores centrado en el cliente

Manejo de errores centrado en el cliente

Publicado el 2024-11-09
Navegar:369

Client-Centered Error Handling

Comprender y manejar errores

Para manejar los errores de manera efectiva, es esencial comprender los tipos de errores que pueden ocurrir. Comencemos categorizando los errores que puedes encontrar.

Tipos de errores en un entorno de cliente web

Errores de red

  • Problemas de conexión: Problemas al establecer una conexión con el servidor.
  • Tiempos de espera: las solicitudes tardan demasiado en recibir una respuesta.
  • Errores de DNS: problemas con la resolución de nombres de dominio.
  • Errores HTTP: errores como 404 no encontrado, 500 error interno del servidor, etc.

Errores de API del servidor

  • Respuestas no válidas: datos inesperados o con formato incorrecto del servidor.
  • Errores de autenticación: problemas con la autenticación o autorización del usuario.
  • Limitación de velocidad: Restricciones por exceder los límites de uso de API.

Errores del entorno del navegador del usuario

  • Compatibilidad del navegador: problemas que surgen de diferencias en cómo los navegadores manejan ciertas funciones.
  • Errores de JavaScript: Errores en el código JavaScript del lado del cliente.
  • Errores de carga de recursos: problemas al cargar recursos como imágenes, scripts u hojas de estilo.

Otros errores

  • Errores del lado del cliente: errores relacionados con el dispositivo o sistema operativo del usuario.
  • Errores de UI/UX: problemas con la interfaz de usuario o la experiencia del usuario, como enlaces rotos o diseño incorrecto.

Pueden ocurrir varios tipos de errores. Sin embargo, estos errores generalmente se pueden clasificar en dos categorías:

  1. Errores esperados: errores cuya ocurrencia y naturaleza se conocen de antemano.
  2. Errores inesperados: errores cuya ocurrencia y naturaleza no se conocen de antemano.

Clasifiquemos los errores que hemos analizado en estas clasificaciones.

¿Se puede anticipar el error o no?

Errores esperados

Los errores recibidos de las API del servidor con códigos de estado claros se pueden considerar Errores esperados porque se pueden anticipar y abordar con anticipación.

Por ejemplo, errores como el acceso no autorizado (401) o el acceso prohibido (403) se pueden manejar adecuadamente según la situación. También es común definir códigos de error más detallados para cada código de estado para administrar la lógica de la aplicación en respuesta a los errores. Estos se conocen como errores esperados.

Errores inesperados

Por otro lado, los errores del servidor en el rango 500 se clasifican como Errores inesperados porque son impredecibles. Las situaciones en las que el servidor no puede responder por algún motivo pueden ocurrir en cualquier momento. Además, los errores que pueden surgir debido al entorno de red del usuario o al entorno del navegador son difíciles de predecir y, por lo tanto, se clasifican como errores inesperados.

Usuario y error

Los errores también se pueden clasificar según la interacción con el usuario, en lugar de solo el entorno. Una forma de categorizar los errores es considerar si el usuario puede hacer algo al respecto. Estos son los criterios para esta clasificación:

  1. Errores que el usuario puede entender y resolver (Errores que ayudan al usuario a seguir usando la aplicación).
  2. Errores que el usuario no puede resolver (Errores que no proporcionan ninguna ayuda al usuario).

Errores resolubles

Por ejemplo, los errores de autenticación o autorización entran en esta categoría. Un usuario que no haya iniciado sesión puede encontrar un error de estado 401. En este caso, puede proporcionar una pantalla de inicio de sesión o mostrar un mensaje que indique que es necesario iniciar sesión.

Si un usuario no tiene permiso para acceder a una pantalla específica, puedes guiarlo para que solicite acceso a un administrador.

Ningún desarrollador de productos acepta con agrado el abandono del usuario. Es fundamental brindar orientación a los usuarios que encuentren errores para ayudarlos a superar la situación. Por ejemplo, proporcionar un botón de actualización para errores temporales de red o un botón para volver a la pantalla anterior al acceder a una página inexistente.

Errores irresolubles

Sin embargo, hay casos en los que informar al usuario de la situación del error no ayuda en absoluto. Por ejemplo, si el código incluye componentes que no funcionan en dispositivos o navegadores de baja especificación, el usuario no puede hacer nada al respecto. (¿Quizás un mensaje que sugiere el uso de un navegador diferente?)

Ambos casos, 1 y 2, implican proporcionar un mensaje. La diferencia es que el caso 1 incluye alguna acción u orientación que solicita al usuario que tome medidas.

¿El error encontrado es algo que el usuario puede resolver por sí solo o no?

Cómo manejar los errores

Entonces, ¿cómo debemos manejar los errores que ocurren? ¿Qué tipo de interfaz debería proporcionar la aplicación al usuario cuando ocurre un error? Exploremos cómo abordar diferentes tipos de errores según sus características.

Errores impredecibles pero solucionables

Un ejemplo típico es un error de red. Estos pueden ocurrir en cualquier momento dependiendo del entorno de red del usuario. La solución más sencilla es informar al usuario que se trata de un "error temporal" y brindarle orientación para volver a intentar la acción anterior.

Rango de error

Para estos errores, es crucial asegurarse de que la aplicación en su conjunto no se vea afectada negativamente. Por ejemplo, si una aplicación llama a 10 API en una pantalla, fallar una no debería generar un mensaje de error en toda la aplicación y requerir un reintento de todas las llamadas.

En su lugar, concéntrate en recuperar solo el área que falló.

Errores impredecibles e irresolubles

Estos son errores que son difíciles de anticipar y no tienen una solución sencilla. Estos errores deben minimizarse durante el desarrollo y debe haber un plan para manejarlos cuando ocurran. Dado que los usuarios no pueden resolver estos errores por sí mismos, puede ser necesario proporcionar una forma sencilla de ponerse en contacto con el servicio de atención al cliente.

Escucha

Los errores fuera del control del desarrollador deben monitorearse utilizando herramientas como Sentry. Estos errores deben corregirse para evitar que los usuarios los encuentren. Además, asegúrese de que exista un mecanismo para que los usuarios regresen a la aplicación si encuentran dichos errores.

Errores predecibles pero irresolubles

Estos son errores conocidos para los cuales no hay resolución disponible para el usuario. Si los usuarios no pueden resolverlos por sí solos, indica una oportunidad perdida para el manejo de errores. Si los usuarios realizan acciones anormales intencionalmente, podría ser una señal de una vulnerabilidad de seguridad.

Errores relacionados con la seguridad

Estos errores ocurren cuando hay una intención maliciosa de explotar la aplicación. Por lo general, surgen de vulnerabilidades de seguridad y deben prevenirse durante el desarrollo. Es fundamental abordar cuestiones de seguridad básicas como CORS y XSS y colaborar con el equipo de seguridad para crear una aplicación segura.

Errores predecibles y solucionables

Estos errores suelen ser parte de la lógica empresarial que los desarrolladores ya conocen:

  • Error 401 no autorizado: requiere inicio de sesión.
  • Error 404 no encontrado: accediendo a una página incorrecta.
  • Otros errores de lógica empresarial: definidos por la lógica de la aplicación.

En estos casos, proporcione orientación adecuada dentro de la aplicación o cree páginas separadas para dirigir a los usuarios.

Importancia de la orientación

Los usuarios deben entender claramente qué hacer a continuación después de encontrar un mensaje de error. Esto ayuda a reducir la frecuencia de errores y evita el abandono del usuario. Por lo tanto, junto al mensaje de error, es fundamental incluir un llamado a la acción.

Por ejemplo, si hay un error de validación de campo, céntrese en el campo donde ocurrió el error. Si el usuario navegó a una página que no existe, proporcione un botón para volver a la pantalla anterior.

Conclusión

Client-Centered Error Handling

Exploramos el manejo de errores. Gestionemos los errores de manera eficiente utilizando diversas herramientas y tecnologías, como herramientas de monitoreo de errores y ErrorBoundary de React, que pueden detectar errores dentro de un alcance limitado.

Declaración de liberación Este artículo se reproduce en: https://dev.to/jaeyeophan/client-centered-user-exception-handling-23a1?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3