Java 14 有用的空指针异常

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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程