前提・実現したいこと
Javaでの例外オブジェクトの正体を知りたいです。
下記の2つのソースコードにおいて全く同じ結果になる理由が分かりません。
ExceptionクラスのオブジェクトをtoStringメソッド、或いは別の方法で暗黙的にStringクラスに変換しているという認識で間違いないでしょうか。
発生している問題・エラーメッセージ
どちらのコードも java.lang.Exception: message と文字列が表示される。
該当のソースコード①
java
1 2public class Throw { 3 4 public static void main(String[] args) { 5 // TODO Auto-generated method stub 6 try { 7 throw new Exception("message"); 8 }catch(Exception e) { 9 System.out.println(e); //Exceptionクラスのオブジェクトを引数で渡す 10 } 11 } 12 13}
該当のソースコード②
java
1 2public class Throw { 3 4 public static void main(String[] args) { 5 // TODO Auto-generated method stub 6 try { 7 throw new Exception("message"); 8 }catch(Exception e) { 9 System.out.println(e.toString()); //Stringクラスのオブジェクトを引数で渡す 10 } 11 } 12 13}
試したこと
Exceptionクラスのオブジェクトに対して以下の操作を行いました。
java
1System.out.println(e.getClass); 2結果ー>class java.lang.Exception 3 4System.out.println(e.toString().getClass()); 5結果ー>class java.lang.String
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。