2013-03-30 12 views
17

例外メッセージをJavaで印刷する方法はありますか?Javaの例外メッセージを印刷する

try { 
    // statements 
} catch (javax.script.ScriptException ex) { 
    System.out.println(ex.getMessage()); 
} 

出力は次のとおりです:

Invalid JavaScript code: sun.org.mozilla.javascript.internal.EvaluatorException: 
missing } after property list (<Unknown source>) in <Unknown source>; 
at line number 1 

は、例外情報、ソースと行番号情報なしでメッセージを印刷する方法はあります

は、私は次のコードをしようとします。言い換えれば、私は出力で印刷したいメッセージがある:

missing } after property list 
+0

例外メッセージ文字列を解析して、必要な部分だけを取得することができます –

+2

getMessageメソッドを使用せずに出力したいメッセージとともにprintlnを使用する方法はありますか? –

+0

'getCause()'を使って最も内側の例外と 'getMessage()'を取得しますが、行番号はそこには存在しないとは限りません。むしろ珍しいユースケースです。あなたがしたいことを教えてください。フロントエンドにユーザーフレンドリーなメッセージを出力したいだけなら、開発者向けのものであればカスタマイズする必要があります。すべてが面白いです。 – TC1

答えて

-10
try { 
} catch (javax.script.ScriptException ex) { 
// System.out.println(ex.getMessage()); 
} 
17

出力は、私には正しいよう:

Invalid JavaScript code: sun.org.mozilla.javascript.internal.EvaluatorException: missing } after property list (<Unknown source>) in <Unknown source>; at line number 1 

私はInvalid Javascript code: ..は、例外メッセージのスタートだと思います。

通常、スタックトレースをメッセージと一緒に返されません。

try { 
    throw new RuntimeException("hu?\ntrace-line1\ntrace-line2"); 
} catch (Exception e) { 
    System.out.println(e.getMessage()); // prints "hu?" 
} 

だから多分あなたが呼び出しているコードは、例外をキャッチし、ScriptExceptionを再スロー。この場合は多分e.getCause().getMessage()がお手伝いします。

関連する問題