web-dev-qa-db-fra.com

Impression du message d'exception en java

Existe-t-il un moyen d'imprimer un message d'exception en Java sans exception?

Lorsque j'essaie le morceau de code suivant:

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

La sortie est:

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

Existe-t-il un moyen d'imprimer le message sans les informations d'exception, les informations de source et de numéro de ligne. En d'autres termes, le message que je voudrais imprimer dans la sortie est:

missing } after property list
20
sony

La sortie me semble correcte:

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

Je pense que Invalid Javascript code: .. Est le début du message d'exception.

Normalement, la trace de pile n'est pas renvoyée avec le message:

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

Alors peut-être que le code que vous appelez intercepte une exception et renvoie un ScriptException. Dans ce cas, e.getCause().getMessage() peut peut-être vous aider.

21
micha