在java中打印异常消息

son*_*ony 21 java exception-handling

有没有办法在Java中打印异常消息而没有例外?

当我尝试以下代码时:

try {
    // statements
} catch (javax.script.ScriptException ex) {
    System.out.println(ex.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

输出是:

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

有没有办法打印消息而没有异常信息,源和行号信息.换句话说,我想在输出中打印的消息是:

missing } after property list
Run Code Online (Sandbox Code Playgroud)

mic*_*cha 22

输出对我来说是正确的:

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

我认为Invalid Javascript code: ..是异常消息的开始.

通常,堆栈跟踪不会返回消息:

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

因此,您调用的代码可能会捕获异常并重新抛出一个异常ScriptException.在这种情况下,也许e.getCause().getMessage()可以帮助你.


小智 -11

try {
} catch (javax.script.ScriptException ex) {
// System.out.println(ex.getMessage());
}
Run Code Online (Sandbox Code Playgroud)