我面臨一個使用情況下,我想聲明static final
場與被聲明爲拋出checked異常的初始化語句靜態最終字段初始值。通常情況下,它會是這樣的:如何處理拋出的checked exception
public static final ObjectName OBJECT_NAME = new ObjectName("foo:type=bar");
我這裏的是,ObjectName
構造函數可能會拋出各種檢查異常,我不關心這個問題(因爲我知道我的名字是有效的,如果它不幸發生崩潰,那麼它是沒問題的)。 Java編譯器不會讓我忽略這一點(因爲它是一個checked exception)時,我寧願不訴諸:
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); } }
因爲靜態塊是真的,真的很難看。有沒有人有如何以一個很好,乾淨的方式處理這個案件的建議?
我個人的解決方案是拋出'CheckedExceptionsAreAPainInTheAssSometimesException',這是一個運行時異常。該程序將只會崩潰。 – Airhead 2017-10-18 01:34:22