Estou trabalhando em um projeto corporativo que será implantado em muitas PMEs e empresas.
O suporte para este projeto estaria com dificuldades e, por isso, quero criar um padrão de codificação para erros ( como códigos de status HTTP ). Isso permitirá que o pessoal do suporte técnico consulte os documentos e solucione os problemas o mais rápido possível.
Quais são as melhores práticas e recomendações para fazer isso?
Qualquer ajuda para fazer isso será útil.
Respostas:
Há uma diferença entre códigos de erro e valores de retorno de erro. Um código de erro é para o usuário e o suporte técnico. Um valor de retorno de erro é uma técnica de codificação para indicar que seu código encontrou um erro.
Pode-se implementar códigos de erro usando valores de retorno de erro, mas eu aconselho isso. As exceções são a maneira moderna de relatar erros e não há razão para que eles não devam carregar um código de erro dentro delas.
É assim que eu organizaria (observe que os pontos 2 a 6 são independentes de idioma):
ErrorCode
propriedade adicional . A captura no loop principal reportará esse campo da maneira usual (arquivo de log / pop-up de erro / resposta a erro). Use o mesmo tipo de exceção em todo o seu código.if (...) throw new FooException(1234, ".."); else throw new FooException(1235, "..");
linha simples no seu código pode economizar meia hora para o suporte técnico.E nunca esqueça que o objetivo dos códigos de erro é facilitar a vida do suporte técnico .
fonte
Doc1234
tempo que o aplicativo principal pode terIrS1234
. Portanto, meus colegas de assistência técnica são muito rápidos em ajudar meus usuários.Você primeiro precisa isolar as áreas onde os erros podem ocorrer e ficar visível ao usuário. Então você pode documentá-los. É simples assim.
Bem, simples na teoria ... na prática, erros podem ocorrer em todo o lugar, e relatá-los pode transformar um código legal em um monstro de registro, lançamento e manipulação de exceções e passagem de valores de retorno.
Eu recomendaria uma abordagem em duas etapas então. Primeiro é registrar, registrar lotes e lotes.
O segundo é determinar os principais componentes e suas interfaces, e definir em quais casos de erros principais esses componentes podem se encontrar. Você pode fazer o logon de maneira mais visível quando um desses erros (como você lida com o erro internamente é sua escolha). - exceções ou códigos de erro não fazem diferença aqui). Um usuário geralmente vê o erro e acessa os logs para obter informações mais detalhadas.
A mesma abordagem é usada para servidores da Web e seu exemplo de código de erro http. Se o usuário vê um 404 e o informa como suporte, ele procurará nos logs os detalhes do que estava acontecendo, qual página foi visitada, quando e coletará qualquer outra informação possível de onde quer que seja. , esteja no banco de dados, na rede ou no aplicativo.
fonte
Eu buscaria exceções personalizadas com nomes descritivos e mensagens claras e as lançaria. É muito mais fácil usar a infraestrutura de exceção existente de um idioma do que criar um suporte para transmitir códigos de erro e interpretá-los.
fonte