Java14 - 有用的 NullPointerException
Java14 引入了 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)
新方式:用新的Flag编译运行程序
$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)