在java中打印异常消息

时间:2013-03-30 19:44:23

标签: java exception-handling

有没有办法在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

2 个答案:

答案 0 :(得分:20)

输出对我来说是正确的:

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()可以帮助您。

答案 1 :(得分:-10)

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