このようなコードで
public static void main(String[] args) {
Exception one = new Exception("my cause");
System.out.println("A) " + one.getMessage());
System.out.println();
Exception two = new Exception(one);
System.out.println("B) " + two.getMessage());
System.out.println("C) " + two.getCause().getMessage());
System.out.println();
Exception three = new Exception("my message", one);
System.out.println("D) " + three.getMessage());
System.out.println("E) " + three.getCause().getMessage());
System.out.println();
Exception fourth = new Exception(null, one);
System.out.println("F) " + fourth.getMessage());
System.out.println("G) " + fourth.getCause().getMessage());
}
出力はこれです
A) my cause
B) java.lang.Exception: my cause
C) my cause
D) my message
E) my cause
F) null
G) my cause
との違いをB
見るF
B
どちらの場合もメッセージを提供しませんでしたが、違いはnull
値が強制されないことです。
メッセージが指定されていB
ない場合、getMessage()
メソッドはフォーマットを提供するようです
が、値className: cause.getMessage()
を持つことを除いて(ケースのように)。null
F
のみを提供し、 を提供せずに作成された例外でを呼び出す場合、null
値 ( のような)を取得する方法はありますか?F
getMessage
cause
message