J'écris un service Web en Java et j'essaie de trouver le meilleur moyen de définir les codes d'erreur et leurs chaînes d'erreur associées . J'ai besoin d'avoir un code d'erreur numérique et une chaîne d'erreur regroupés. Le code d'erreur et la chaîne d'erreur seront envoyés au client accédant au service Web. Par exemple, lorsqu'une exception SQLException se produit, je pourrais souhaiter effectuer les opérations suivantes:
// Example: errorCode = 1,
// errorString = "There was a problem accessing the database."
throw new SomeWebServiceException(errorCode, errorString);
Le programme client peut afficher le message:
"L'erreur n ° 1 s'est produite: un problème est survenu lors de l'accès à la base de données."
Ma première pensée a été d'utiliser l'un Enum
des codes d'erreur et de remplacer les toString
méthodes pour renvoyer les chaînes d'erreur. Voici ce que j'ai trouvé:
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
}
Ma question est la suivante: y a-t-il une meilleure façon de procéder? Je préférerais une solution dans le code, plutôt que de lire à partir d'un fichier externe. J'utilise Javadoc pour ce projet et il serait utile de pouvoir documenter les codes d'erreur en ligne et de les mettre à jour automatiquement dans la documentation.