私は最終的なメンバーデータを持っています:
public final Foo foo;
コンストラクターでfoo
は、次のように初期化されます。
foo = new Foo();
残念ながら、Foo のコンストラクターは例外をスローする可能性があります。
try {
foo = new Foo();
} catch (Exception e) {
e.printStackTrace();
}
しかし、現在、コンパイラは foo が初期化されていない可能性があると不平を言っています。これは、Foo のコンストラクターが例外をスローした場合に当てはまります。しかし、catch の中括弧を入れるfoo = null
と、foo が初期化された可能性があると不平を言います。
Foo は私が変更できないサードパーティのライブラリです。
では、これを処理する最も優雅な方法は何ですか?