Estou escrevendo um serviço da web em Java e estou tentando descobrir a melhor maneira de definir códigos de erro e suas sequências de erro associadas . Preciso ter um código de erro numérico e uma string de erro agrupados. Tanto o código de erro quanto a string de erro serão enviados ao cliente que acessa o serviço da web. Por exemplo, quando ocorre uma SQLException, posso querer fazer o seguinte:
// Example: errorCode = 1,
// errorString = "There was a problem accessing the database."
throw new SomeWebServiceException(errorCode, errorString);
O programa cliente pode ver a mensagem:
"Ocorreu o erro nº 1: houve um problema ao acessar o banco de dados."
Meu primeiro pensamento foi usar um Enum
dos códigos de erro e substituir os toString
métodos para retornar as strings de erro. Aqui está o que eu descobri:
public enum Errors {
DATABASE {
@Override
public String toString() {
return "A database error has occured.";
}
},
DUPLICATE_USER {
@Override
public String toString() {
return "This user already exists.";
}
},
// more errors follow
}
Minha pergunta é: existe uma maneira melhor de fazer isso? Eu preferiria uma solução em código, em vez de ler de um arquivo externo. Estou usando Javadoc para este projeto e seria útil documentar os códigos de erro in-line e atualizá-los automaticamente na documentação.