Java 14でNullPointerExceptionの詳細エラーメッセージを表示する
Java 14でNullPointerExceptionの詳細エラーメッセージを表示したいときのメモ。
※追記
Java 15からShowCodeDetailsInExceptionMessages
はデフォルトで有効になった。
https://bugs.openjdk.java.net/browse/JDK-8233014
Demo
Java 14をインストール後、ShowCodeDetailsInExceptionMessages
を有効にしてJShellを起動する
- SDKMANを使う場合
% sdk install java 14.0.0-open % sdk use java 14.0.0-open % jshell -R-XX:+ShowCodeDetailsInExceptionMessages
- dockerを使う場合
% docker run --rm -it openjdk:14.0.2-jdk jshell -R-XX:+ShowCodeDetailsInExceptionMessages
jshell> String message = null message ==> null jshell> System.out.println(message.length()) | Exception java.lang.NullPointerException: Cannot invoke "String.length()" because "REPL.$JShell$11.message" is null | at (#2:1) jshell> /exit | Goodbye