[java] Printing Exception Message in java

Is there a way to print an exception message in Java without the exception?

When I try the following piece of code:

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

The output is:

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

Is there a way to print the message without the exception information, source and line number information. In other words, the message I would like to print in the output is:

missing } after property list

This question is related to java exception-handling

The answer is


The output looks correct to me:

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

I think Invalid Javascript code: .. is the start of the exception message.

Normally the stacktrace isn't returned with the message:

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

So maybe the code you are calling catches an exception and rethrows a ScriptException. In this case maybe e.getCause().getMessage() can help you.


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