我收到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
答案 0 :(得分:0)
此:
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
}
就像在编译后的代码中一样。
因此,您确实有一个静态初始化程序;并且该异常发生在该初始化程序块中的某处。