Sto scrivendo un servizio web in Java e sto cercando di capire il modo migliore per definire i codici di errore e le stringhe di errore associate . Devo avere un codice di errore numerico e una stringa di errore raggruppati insieme. Sia il codice di errore che la stringa di errore verranno inviati al client che accede al servizio web. Ad esempio, quando si verifica una SQLException, potrei voler fare quanto segue:
// Example: errorCode = 1,
// errorString = "There was a problem accessing the database."
throw new SomeWebServiceException(errorCode, errorString);
Al programma client potrebbe essere visualizzato il messaggio:
"Si è verificato l'errore n. 1: si è verificato un problema durante l'accesso al database."
Il mio primo pensiero è stato quello di utilizzare uno Enum
dei codici di errore e sovrascrivere i toString
metodi per restituire le stringhe di errore. Ecco cosa mi è venuto in mente:
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
}
La mia domanda è: c'è un modo migliore per farlo? Preferirei una soluzione in codice, piuttosto che leggere da un file esterno. Sto usando Javadoc per questo progetto e sarebbe utile documentare i codici di errore in linea e aggiornarli automaticamente nella documentazione.