java.lang.ExceptionInInitializerError без статического инициализатора - PullRequest
1 голос
/ 22 июня 2019

Я получаю java.lang.ExceptionInInitializerError, но у меня нет статического инициализатора.

Код:

public static final File STANDARD_INDEX_FILE = new File(HTMLFileLoader.class.getClassLoader().getResource("index.html").getPath()); // Line 16 

Класс HTMLFileLoader пуст.

Исключение:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at net.guardian.Guardian.main(Guardian.java:12)
Caused by: java.lang.NullPointerException
    at net.guardian.socket.MainSocket.<init>(MainSocket.java:16)
    at net.guardian.socket.MainSocket.<clinit>(MainSocket.java:24)
    ... 1 more

1 Ответ

0 голосов
/ 22 июня 2019

Это:

public static final File STANDARD_INDEX_FILE = new File(HTMLFileLoader.class.getClassLoader().getResource("index.html").getPath()); // Line 16 

точно так же, как это:

public static final File STANDARD_INDEX_FILE;

static {
  STANDARD_INDEX_FILE = new File(HTMLFileLoader.class.getClassLoader().getResource("index.html").getPath()); // Line 16 
}

Как это выглядит в скомпилированном коде.

Таким образом, у вас есть статический инициализатор; и исключение происходит где-то в этом блоке инициализатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...