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.

Mensagem de erro do netflix quando o usuário está sem conexão

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:

Detalhes do erro M7121–1101

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.

Inspiração de alguns sites que possuem uma documentação de erros:

Paypal — Página de suporte
Netflix — Página de suporte
Pagseguro — Página de suporte