Skip to content

Erros de Funcionalidade (Nível de Regra de Negócio)

Erros de funcionalidade ocorrem quando o usuário tenta realizar uma ação que, embora tecnicamente possível, viola uma regra de negócio ou encontra um conflito no estado atual do sistema.

O que são?

Diferente dos erros de aplicação, aqui o sistema está online, mas a ação específica falhou por motivos lógicos.

  • Tentativa de agendar consulta em um horário que acabou de ser ocupado (Conflito 409).
  • Usuário com múltiplos perfis tentando acessar área restrita sem selecionar o perfil correto.
  • Limite de tentativas de upload atingido.
  • Pagamento recusado pela operadora.
  • Documento CPF já cadastrado no sistema.

Como pensar o Design?

O design aqui deve ser explicativo e orientador. O usuário não deve apenas saber que falhou, mas por que falhou e como resolver.

1. Diálogos de Resolução (Dialogs)

Se o erro exige uma escolha do usuário (ex: múltiplos perfis), use um Modal/Dialog que apresente as opções de correção imediatamente.

2. Banners de Contexto

Se o erro não impede o uso da tela, mas invalida a ação (ex: CPF já cadastrado), um banner no topo da área de conteúdo é mais eficaz que um Toast, pois permanece visível enquanto o usuário decide o que fazer.

3. Feedback Progressivo

Se o usuário está em um formulário de várias etapas, não espere até o final para mostrar erros de negócio que poderiam ter sido validados antes.


Exemplos Práticos

✅ Como fazer

  • Múltiplos Perfis: "Identificamos que você possui acesso como Médico e Administrador. Para acessar este relatório, selecione seu perfil de Administrador." [Botão: Alternar Perfil].
  • Horário Ocupado: "Infelizmente este horário não está mais disponível. Selecionamos o próximo horário vago para você às 10:30. Deseja confirmar?"
  • CPF Duplicado: "Este CPF já possui um cadastro ativo. Deseja recuperar sua senha ou entrar em contato com o suporte?"

❌ Como não fazer

  • Culpar o usuário: "Você inseriu dados inválidos". Prefira "Os dados inseridos não conferem com nossos registros".
  • Genericismo: "Ocorreu um erro ao salvar". O usuário fica sem saber se deve tentar de novo ou se o dado já foi salvo.
  • Esconder a solução: Mostrar o erro e obrigar o usuário a sair da tela, procurar o menu e resolver manualmente o que o sistema já sabe como resolver.

O Impacto no Produto

Erros de funcionalidade bem tratados aumentam a taxa de conversão. Um usuário que recebe uma sugestão de novo horário após um conflito tem muito mais chances de agendar do que um que recebe apenas um "Erro 409".