Nous avons une API REST dans laquelle les clients peuvent fournir des paramètres représentant les valeurs définies sur le serveur dans les Enums Java.Meilleure pratique pour rechercher Java Enum
Donc, nous pouvons fournir une erreur descriptive, nous ajoutons cette méthode lookup
à chaque Enum. On dirait que nous ne faisons que copier du code (mauvais). Y a-t-il une meilleure pratique?
public enum MyEnum {
A, B, C, D;
public static MyEnum lookup(String id) {
try {
return MyEnum.valueOf(id);
} catch (IllegalArgumentException e) {
throw new RuntimeException("Invalid value for my enum blah blah: " + id);
}
}
}
Mise à jour: Le message d'erreur par défaut fourni par valueOf(..)
serait No enum const class a.b.c.MyEnum.BadValue
. Je voudrais fournir une erreur plus descriptive de l'API.
Eh bien, il n'y a rien de mal avec le IllegalArgumentException, qui est déjà une exception RuntimeException. Que voulez-vous améliorer ici? – Riduidel
Ajoutez un message plus descriptif que celui fourni lors de l'utilisation de 'valueOf' (et' IllegalArgumentException') –