例外をスローしたときに、最終的な変数が初期化されていることを確認して残念ながら、Fooのコンストラクタは例外をスローする可能性があります:は、コンストラクタは、私が最終メンバーデータを持っている
try {
foo = new Foo();
} catch (Exception e) {
e.printStackTrace();
}
今のところコンパイラfooが初期化されないかもしれないmplains .Fooのコンストラクタが例外をスローする場合はtrueです。しかし、私がfoo = null
をキャッチブレースの内側に置くと、fooが初期化されている可能性があるという文句があります。
Fooは私が変更できないサードパーティのライブラリです。
これを処理する最も優雅な方法は何ですか?
try/catchブロックがなくても、コンパイラからの苦情はありません。クラスのコンストラクタをFooによって生成された例外をスローするようにしましたか? –