静的初期化ブロックがあり、そこからExceptionInInitializerError
例外がスローされます。
この例外を渡し、このクラスから他のフィールドやメソッドにアクセスする方法はありますか? ありがとうございました。
質問する
101 次
2 に答える
2
ExceptionInInitializerErrorの背後にある主な理由は、JVM が処理できない予期しない状況に遭遇すると、JVM が上記のエラーをスローすることです。ErrorExceptionInInitializerError
をキャッチするべきではありませんが、例外が発生したクラスは以降の使用 (クラスのインスタンス化など) に使用できなくなるため、実際にはそこから回復することはできません。JLSを参照できます。- 詳細な初期化手順。NoClassDefFoundError.
于 2013-04-29T07:07:20.270 に答える
0
静的ブロックを含むクラスを開始するための呼び出しを try ブロックと catch に入れExceptionInInitializerError
ます。次のように:
try{
ClassWithStaticBlock cb = new ClassWithStaticBlock();
}
catch(ExceptionInInitializerError ex){
}
于 2013-04-29T07:19:15.677 に答える