Já mapeou os erros dentro da sua aplicação?
"Ajude os usuários a reconhecerem, diagnosticarem e recuperarem-se de erros"
- 9a Heurística de Nielsen
A aplicação nunca deve culpar um usuário por algum erro, ou seja, independente se o usuário errou no não, o sistema deve arcar com o erro, um belo exemplo disso é quando você está sem internet e o Netflix te pede desculpa por não conseguir estabelecer uma conexão, ou seja, você está errado e o Netflix assume a culpa.
Logo abaixo da mensagem de erro temos o "Código de erro" …., aí vem a pergunta?
Sua aplicação por mais simples que seja tem um catálogo dos possíveis erros que possam surgir?
Minha sugestão é tirar um tempo e mapear os principais erros que podem surgir e criar uma documentação para que o usuário entenda o erro, um amigo meu disse uma vez uma frase que ficou marcada:
"O usuário nem sempre quer que resolva o problema imediatamente, ele quer entender o problema."
Além de dar uma explicação imediata para o usuário do que está acontecendo, ao usuário pesquisar com o código de erro fica mais fácil esse entendimento, olha que coisa mais linda quando pesquisa o erro do print acima:
Qual a vantagem de catalogar mais erros?
Imagina você em uma empresa que possua um 0800 ou chat onde o usuário pode entrar com um possível suporte humano, ao atender a ligação o suporte pergunta, qual código de erro?
Ao cliente informar esse código de erro, o suporte pesquisa na documentação do sistema e imediatamente começa a falar a mesma língua do usuário. Imagina o sentimento do usuário ao saber que quem ele está falando do outro lado sabe do que ele está falando.
Sugestão de mapeamento de erros
código fixo do módulo + sequencial do exception,
exemplo: 1001–73201
1001 = Módulo: "cadastro de usuário"
73201 = Sequencial gerado no ato do exception e gravado em uma base de dados com o usuário, horário, ação que resultou o erro, ação anterior antes do erro.
Simples né? Dessa forma fica fácil criar relatórios e saber exatamente o usuário que deu erro e o que ele estava fazendo anteriormente.