chanting an air of joyous bliss

普段の生活で見逃しがちな面白いことを書いていく
そんなブログです

java.lang.ExceptionInInitializerError part2

2009-02-26 21:21:01 | Java
java.lang.ExceptionInInitializerErrorが発生するロジックを書いてみた
public class Main {
    public static final Map<String,Object> testMap = new HashMap<String,Object>();
    static {
        testMap.put("test", "test");
        doHoge();
    }
    
    private static void doHoge(){
        //わざと例外を発行する
        throw new RuntimeException();
    }

    public static void main(String[] args) {
    }
}
・実行結果
java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException
        at characterencodingtest.Main.doHoge(Main.java:29)
        at characterencodingtest.Main.<clinit>(Main.java:24)
Exception in thread "main" 
つまり、static初期化時に何かしらの例外が発生したとき、java.lang.ExceptionInInitializerErrorが発生する
デバックの方法としては
・jarの入れ替えを行ったとき、依存関係が正しく維持されているか
・static初期化処理で例外が発生する処理を書いていないか
を確認するのがよい
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 全角かな、カタカナチェック | トップ | 半角英数字を全角英数字に、... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

Java」カテゴリの最新記事