Duplicata possible :
Comment gérer un initialisateur de champ final statique qui lève une exception vérifiée ?
Dans cet exemple, j'obtiens l'erreur Le champ final vide myClass peut pas ont été initialisés :
private final static MyClass myClass; // <-- error
static {
try {
myClass = new MyClass(); // <-- throws exception
myClass.init();
} catch (Exception e) {
// log
}
}
Dans cet exemple, j'obtiens l'erreur Le champ final myClass peut déjà ont été attribués :
private final static MyClass myClass;
static {
try {
myClass = new MyClass(); // <-- throws exception
myClass.init();
} catch (Exception e) {
myClass = null; // <-- error
// log
}
}
Y a-t-il une solution à ce problème ?