Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取ExceptionInTilizerError_Java - Fatal编程技术网

Java 获取ExceptionInTilizerError

Java 获取ExceptionInTilizerError,java,Java,当我试图运行以下代码时,我得到的是ExceptionInInitializeRerror而不是NullPointerException。为什么? static { String s= null; System.out.println(s.length()); } 当您使用静态初始值设定项块时,不会像在代码的其余部分那样处理错误。当初始化程序块中抛出错误时,JVM抛出java.lang.ExceptionInInitializerError。当静态变量初始化失败时也会发生这种

当我试图运行以下代码时,我得到的是ExceptionInInitializeRerror而不是NullPointerException。为什么?

static 
{
   String s= null;
   System.out.println(s.length()); 
}  

当您使用静态初始值设定项块时,不会像在代码的其余部分那样处理错误。当初始化程序块中抛出错误时,JVM抛出
java.lang.ExceptionInInitializerError
。当静态变量初始化失败时也会发生这种情况。

当您使用静态初始值设定项块时,错误不会像在代码的其余部分中那样被处理。当初始化程序块中抛出错误时,JVM抛出
java.lang.ExceptionInInitializerError
。当静态变量初始化失败时也会发生这种情况。

这是因为加载程序在初始化此类时看到错误。如果看到内部堆栈跟踪,您将发现NullPointerException。但由于loader看到错误时是初始化类的过程,因此您会看到“ExceptionInInitializeError”。

这是因为loader在初始化此类时看到错误。如果看到内部堆栈跟踪,您将发现NullPointerException。但是,由于加载程序看到错误时是初始化类的过程,因此您会看到这个“ExceptionInInitializeError”。

静态块是java中类代码的一部分,在第一次加载类时会调用它。如果您仔细查看收到的例外情况:

Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
    at Main.Test.<clinit>(Test.java:8)
线程“main”java.lang.ExceptionInInitializeError中的异常 原因:java.lang.NullPointerException Test.(Test.java:8) 您有一个NullPointerException包装在ExceptionInitializeError中。
因此,您收到了一个NullPointerException,并且由于该错误发生在无法进一步正常执行的空间,因此您得到了ExceptionInitializeaterError

静态块是java中类代码的一部分,在第一次加载类时会调用它。如果您仔细查看收到的例外情况:

Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
    at Main.Test.<clinit>(Test.java:8)
线程“main”java.lang.ExceptionInInitializeError中的异常 原因:java.lang.NullPointerException Test.(Test.java:8) 您有一个NullPointerException包装在ExceptionInitializeError中。
因此,您收到了一个NullPointerException,并且由于该错误发生在无法进一步正常执行的空间,因此您得到了ExceptionInitializateError,因为您的类无法初始化,因为您的类无法初始化