Возможный дубликат:
Как обрабатывать статический инициализатор конечного поля, который выдает проверенное исключение
В этом примере я получаю ошибку. Пустое конечное поле myClass может быть не инициализировано:
private final static MyClass myClass; // <-- error
static {
try {
myClass = new MyClass(); // <-- throws exception
myClass.init();
} catch (Exception e) {
// log
}
}
В этом примере я получаю ошибку. Конечное поле myClass может быть уже:
private final static MyClass myClass;
static {
try {
myClass = new MyClass(); // <-- throws exception
myClass.init();
} catch (Exception e) {
myClass = null; // <-- error
// log
}
}
Есть ли какое-либо решение этой проблемы?