Para manejar los errores de manera efectiva, es esencial comprender los tipos de errores que pueden ocurrir. Comencemos categorizando los errores que puedes encontrar.
Pueden ocurrir varios tipos de errores. Sin embargo, estos errores generalmente se pueden clasificar en dos categorías:
Clasifiquemos los errores que hemos analizado en estas clasificaciones.
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.
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.
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:
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.
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?
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.
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.
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ó.
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.
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.
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.
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.
Estos errores suelen ser parte de la lógica empresarial que los desarrolladores ya conocen:
En estos casos, proporcione orientación adecuada dentro de la aplicación o cree páginas separadas para dirigir a los usuarios.
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.
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.
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