"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Tratamento de erros centrado no cliente

Tratamento de erros centrado no cliente

Publicado em 2024-11-09
Navegar:405

Client-Centered Error Handling

Compreendendo e tratando erros

Para lidar com erros de forma eficaz, é essencial compreender os tipos de erros que podem ocorrer. Vamos começar categorizando os erros que você pode encontrar.

Tipos de erros em um ambiente de cliente Web

Erros de rede

  • Problemas de conexão: Problemas ao estabelecer uma conexão com o servidor.
  • Tempos limite: solicitações demoram muito para receber uma resposta.
  • Erros de DNS: problemas com resolução de nomes de domínio.
  • Erros HTTP: erros como 404 não encontrado, 500 erro interno do servidor, etc.

Erros de API do servidor

  • Respostas inválidas: dados inesperados ou malformados do servidor.
  • Erros de autenticação: problemas com autenticação ou autorização do usuário.
  • Limitação de taxa: restrições devido a exceder os limites de uso da API.

Erros de ambiente do navegador do usuário

  • Compatibilidade do navegador: problemas decorrentes de diferenças na forma como os navegadores lidam com determinados recursos.
  • Erros de JavaScript: erros no código JavaScript do lado do cliente.
  • Erros no carregamento de recursos: problemas ao carregar recursos como imagens, scripts ou folhas de estilo.

Outros erros

  • Erros do lado do cliente: erros relacionados ao dispositivo ou sistema operacional do usuário.
  • Erros UI/UX: problemas com a interface ou experiência do usuário, como links quebrados ou layout incorreto.

Vários tipos de erros podem ocorrer. No entanto, esses erros geralmente podem ser classificados em duas categorias:

  1. Erros Esperados: Erros cuja ocorrência e natureza são conhecidas antecipadamente.
  2. Erros Inesperados: Erros cuja ocorrência e natureza não são conhecidas antecipadamente.

Vamos categorizar os erros que discutimos nessas classificações.

O erro pode ser antecipado ou não?

Erros esperados

Erros recebidos de APIs de servidor com códigos de status claros podem ser considerados Erros esperados porque podem ser antecipados e resolvidos com antecedência.

Por exemplo, erros como acesso não autorizado (401) ou acesso proibido (403) podem ser tratados adequadamente com base na situação. Também é comum definir códigos de erro mais detalhados para cada código de status para gerenciar a lógica do aplicativo em resposta a erros. Eles são chamados de erros esperados.

Erros inesperados

Por outro lado, erros de servidor na faixa 500 são classificados como Erros Inesperados porque são imprevisíveis. Situações em que o servidor não consegue responder por qualquer motivo podem ocorrer a qualquer momento. Além disso, erros que podem surgir devido ao ambiente de rede ou ao ambiente do navegador do usuário são difíceis de prever e, portanto, são classificados como Erros Inesperados.

Usuário e erro

Os erros também podem ser classificados com base na interação com o usuário, e não apenas no ambiente. Uma maneira de categorizar os erros é considerar se o usuário pode fazer algo a respeito do erro. Aqui estão os critérios para esta classificação:

  1. Erros que o usuário pode entender e resolver (Erros que ajudam o usuário a continuar usando o aplicativo).
  2. Erros que o usuário não consegue resolver (Erros que não fornecem assistência ao usuário).

Erros Resolúveis

Por exemplo, erros de autenticação ou autorização se enquadram nesta categoria. Um usuário que não esteja conectado pode encontrar um erro de status 401. Nesse caso, você pode fornecer uma tela de login ou exibir uma mensagem indicando que o login é necessário.

Se um usuário não tiver permissão para acessar uma tela específica, você pode orientá-lo a solicitar acesso a um administrador.

Nenhum desenvolvedor de produto aceita o abandono do usuário. É fundamental orientar os usuários que encontrarem erros para ajudá-los a superar a situação. Por exemplo, fornecendo um botão de atualização para erros temporários de rede ou um botão para voltar à tela anterior ao acessar uma página inexistente.

Erros insolúveis

No entanto, há casos em que informar o usuário sobre a situação do erro não ajuda em nada. Por exemplo, se o código incluir componentes que não funcionam em dispositivos ou navegadores de baixa especificação, o usuário não poderá fazer nada a respeito. (Talvez uma mensagem sugerindo o uso de um navegador diferente?)

Ambos os casos, 1 e 2, envolvem o fornecimento de uma mensagem. A diferença é que o caso 1 inclui alguma ação ou orientação que solicita ao usuário que tome medidas.

O erro encontrado é algo que o usuário pode resolver sozinho ou não?

Como lidar com erros

Então, como devemos lidar com os erros que ocorrem? Que tipo de interface o aplicativo deve fornecer ao usuário quando ocorre um erro? Vamos explorar como lidar com diferentes tipos de erros com base em suas características.

Erros imprevisíveis, mas solucionáveis

Um exemplo típico é um erro de rede. Isso pode ocorrer a qualquer momento, dependendo do ambiente de rede do usuário. A solução mais simples é informar ao usuário que se trata de um 'erro temporário' e fornecer orientação para tentar novamente a ação anterior.

Intervalo de erros

Para esses erros, é crucial garantir que o aplicativo como um todo não seja afetado negativamente. Por exemplo, se um aplicativo chama 10 APIs em uma tela, a falha em uma não deve acionar uma mensagem de erro em todo o aplicativo e exigir uma nova tentativa de todas as chamadas.

Em vez disso, concentre-se em recuperar apenas a área que falhou.

Erros imprevisíveis e insolúveis

São erros difíceis de prever e que não têm resolução direta. Tais erros devem ser minimizados durante o desenvolvimento e deve haver um plano para lidar com eles quando ocorrerem. Como os usuários não podem resolver esses erros sozinhos, pode ser necessário fornecer uma maneira fácil de entrar em contato com o suporte ao cliente.

Monitoramento

Erros fora do controle do desenvolvedor devem ser monitorados usando ferramentas como o Sentry. Esses erros precisam ser corrigidos para evitar que os usuários os encontrem. Além disso, certifique-se de que haja um mecanismo para os usuários retornarem ao aplicativo caso encontrem tais erros.

Erros previsíveis, mas insolúveis

Esses são erros conhecidos para os quais não há resolução disponível para o usuário. Se os usuários não conseguirem resolvê-los sozinhos, isso indica uma oportunidade perdida de tratamento de erros. Se os usuários realizarem ações anormais intencionalmente, isso pode ser um sinal de vulnerabilidade de segurança.

Erros relacionados à segurança

Esses erros ocorrem quando há intenção maliciosa de explorar o aplicativo. Eles normalmente resultam de vulnerabilidades de segurança e devem ser evitados durante o desenvolvimento. É crucial abordar questões básicas de segurança, como CORS e XSS, e colaborar com a equipe de segurança para construir um aplicativo seguro.

Erros previsíveis e solucionáveis

Esses erros geralmente fazem parte da lógica de negócios que os desenvolvedores já conhecem:

  • 401 Erro não autorizado: requer login.
  • Erro 404 não encontrado: acessando uma página errada.
  • Outros erros de lógica de negócios: definidos pela lógica do aplicativo.

Nesses casos, forneça orientações adequadas dentro do aplicativo ou crie páginas separadas para direcionar os usuários.

Importância da Orientação

Os usuários devem entender claramente o que fazer a seguir após encontrar uma mensagem de erro. Isso ajuda a reduzir a frequência de erros e evita o abandono do usuário. Portanto, junto com a mensagem de erro, é fundamental incluir um call to action.

Por exemplo, se houver um erro de validação de campo, concentre-se no campo onde o erro ocorreu. Se o usuário navegou para uma página inexistente, forneça um botão para voltar à tela anterior.

Conclusão

Client-Centered Error Handling

Exploramos o tratamento de erros. Vamos gerenciar erros com eficiência utilizando várias ferramentas e tecnologias, como ferramentas de monitoramento de erros e ErrorBoundary do React, que podem detectar erros dentro de um escopo limitado.

Declaração de lançamento Este artigo é reproduzido em: https://dev.to/jaeyeophan/client-centered-user-xception-handling-23a1?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3