Java 14 有用的空指针异常
Java 14引入了NullPointerException,如果传递了-XX:+ShowCodeDetailsInExceptionMessages
标志到JVM,将会提供有用的信息。
示例
考虑以下示例-
ApiTester.java
public class APITester {
public static void main(String[] args) {
String message = null;
System.out.println(message.length());
}
}
旧方法:编译和运行程序
$javac APITester.java
$java APITester
输出
Exception in thread "main" java.lang.NullPointerException
at APITester.main(APITester.java:6)
新方式:使用新标志编译和运行程序
$javac APITester.java
$java -XX:+ShowCodeDetailsInExceptionMessages APITester
输出
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.length()" because "<local1>" is null
at APITester.main(APITester.java:6)