int lineNumber = e.getErrorLineNumber();
private ScriptException constructScriptException(final EvalError e) { return new ScriptException(e.getMessage(), e.getErrorSourceFile(), e.getErrorLineNumber()); }
private ScriptException constructScriptException(final EvalError e) { return new ScriptException(e.getMessage(), e.getErrorSourceFile(), e.getErrorLineNumber()); }
/** * */ public JRBshEvaluator(String bshScript) throws JRException { super(); this.bshScript = bshScript; interpreter = new Interpreter(); interpreter.setClassLoader(Thread.currentThread().getContextClassLoader()); try { interpreter.eval(new StringReader(bshScript)); } catch(EvalError e) { throw new JRException( "Error evaluating report expressions BeanShell script." + "\nMessage : " + e.getMessage() + "\nLine " + e.getErrorLineNumber() + " : " + extractLineContent(e) ); } }
"Error testing report expressions BeanShell script." + "\nMessage : " + e.getMessage() + "\nLine " + e.getErrorLineNumber() + " : " + extractLineContent(e) );
int lineNo = evalError.getErrorLineNumber(); String msg = evalError.getRawMessage(); int contextLines = 4;
logger.error(e); try { int lineNumber = e.getErrorLineNumber();
} catch (EvalError e) { throw new ScriptException(e.toString(), e.getErrorSourceFile(), e.getErrorLineNumber());
} catch (EvalError e) { throw new ScriptException(e.toString(), e.getErrorSourceFile(), e.getErrorLineNumber()); } catch (InterpreterError e) {
private Object evalSource(Object source, ScriptContext scriptContext) throws ScriptException { try ( Interpreter bsh = getInterpreter() ) { NameSpace contextNameSpace = getEngineNameSpace(scriptContext); bsh.setNameSpace(contextNameSpace); bsh.setOut(toPrintStream(scriptContext.getWriter())); bsh.setErr(toPrintStream(scriptContext.getErrorWriter())); if (source instanceof Reader) { return bsh.eval((Reader) source); } else { return bsh.eval((String) source); } } catch (ParseException e) { // explicit parsing error throw new ScriptException(e.toString(), e.getErrorSourceFile(), e.getErrorLineNumber()); } catch (TargetError e) { // The script threw an application level exception ScriptException se = new ScriptException(e.toString(), e.getErrorSourceFile(), e.getErrorLineNumber()); se.initCause(e.getTarget()); throw se; } catch (EvalError e) { // The script couldn't be evaluated properly throw new ScriptException(e.toString(), e.getErrorSourceFile(), e.getErrorLineNumber()); } catch (IOException e) { throw new ScriptException(e.toString()); } }
private Object evalSource(Object source, ScriptContext scriptContext) throws ScriptException { bsh.NameSpace contextNameSpace = getEngineNameSpace(scriptContext); Interpreter bsh = getInterpreter(); bsh.setNameSpace(contextNameSpace); bsh.setOut(toPrintStream(scriptContext.getWriter())); bsh.setErr(toPrintStream(scriptContext.getErrorWriter())); try { if (source instanceof Reader) { return bsh.eval((Reader) source); } else { return bsh.eval((String) source); } //} catch (ParseException e) { // explicit parsing error TODO how to handle parse exception ? //throw new ScriptException(e.toString()); //e.getErrorSourceFile(), e.getErrorLineNumber()); } catch (TargetError e) { // The script threw an application level exception // set it as the cause ? ScriptException se = new ScriptException(e.toString(), e.getErrorSourceFile(), e.getErrorLineNumber()); se.initCause(e.getTarget()); throw se; } catch (EvalError e) { // The script couldn't be evaluated properly throw new ScriptException(e.toString(), e.getErrorSourceFile(), e.getErrorLineNumber()); } catch (InterpreterError e) { // The interpreter had a fatal problem throw new ScriptException(e.toString()); } }