(En référence à ce billet : Comment lancer une exception à partir d'un constructeur d'enum ? )
J'aimerais vraiment faire la même chose. Exemple de code :
public enum PublicIPWebservice {
AMAZON_WEB_SERVICES("http://checkip.amazonaws.com"),
EX_IP("http://api-ams01.exip.org/?call=ip"),
WHAT_IS_MY_IP("http://automation.whatismyip.com/n09230945.asp");
private URL url;
private PublicIPWebservice(String url) throws MalformedURLException {
this.url = new URL(url);
}
public URL getURL() {
return url;
}
}
Le programme devrait se planter si l'url n'était pas correcte, car il s'agirait d'une erreur de programmation, donc attraper l'exception dans le constructeur serait une erreur, n'est-ce pas ?
Quelle est la meilleure façon de résoudre ce problème ?