From 09dd03f6292345eeb709b7079665de7a33eeebb8 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Wed, 9 Nov 2016 03:16:17 +0300 Subject: [PATCH] unwind nested ScriptExceptions --- .../ide/script/Jsr223IdeScriptEngineManagerImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/core-impl/src/org/jetbrains/ide/script/Jsr223IdeScriptEngineManagerImpl.java b/platform/core-impl/src/org/jetbrains/ide/script/Jsr223IdeScriptEngineManagerImpl.java index cff7a2a3b307..2cbe96e62eb6 100644 --- a/platform/core-impl/src/org/jetbrains/ide/script/Jsr223IdeScriptEngineManagerImpl.java +++ b/platform/core-impl/src/org/jetbrains/ide/script/Jsr223IdeScriptEngineManagerImpl.java @@ -33,6 +33,7 @@ import org.jetbrains.ide.PooledThreadExecutor; import javax.script.ScriptEngine; import javax.script.ScriptEngineFactory; import javax.script.ScriptEngineManager; +import javax.script.ScriptException; import java.io.IOException; import java.io.Reader; import java.io.Writer; @@ -227,8 +228,10 @@ class Jsr223IdeScriptEngineManagerImpl extends IdeScriptEngineManager { try { return myEngine.eval(script); } - catch (Throwable e) { - throw new IdeScriptException(e); + catch (Throwable ex) { + //noinspection InstanceofCatchParameter + while (ex instanceof ScriptException && ex.getCause() != null) ex = ex.getCause(); + throw new IdeScriptException(ex); } } });