Jak obsługiwać statyczny końcowy inicjator pola, który zgłasza sprawdzony wyjątek

Stoję przed przypadkiem użycia, w którym chciałbym zadeklarować astatic finalpole z instrukcją inicjalizatora, która jest zadeklarowana do rzucenia sprawdzonego wyjątku. Zazwyczaj wyglądałoby to tak:

public static final ObjectName OBJECT_NAME = new ObjectName("foo:type=bar");

Mam tutaj problem, żeObjectName konstruktor może rzucać różne sprawdzone wyjątki, na których mi nie zależy (ponieważ wiedziałbym, że moje imię jest poprawne i jest w porządku, jeśli nieszczęśliwie się zawiesza, jeśli nie jest). Kompilator Java nie pozwoli mi tego zignorować (ponieważ jest to sprawdzony wyjątek) i wolałbym nie uciekać się do:

public static final ObjectName OBJECT_NAME;
static{
    try{
        OBJECT_NAME = new ObjectName("foo:type=bar");
    }catch(final Exception ex){
        throw new RuntimeException("Failed to create ObjectName instance in static block.",ex);
    }  
}

Ponieważ statyczne bloki są naprawdę, bardzo trudne do odczytania. Czy ktoś ma sugestię, jak poradzić sobie z tą sprawą w miły, czysty sposób?

questionAnswers(3)

yourAnswerToTheQuestion