/** * @deprecated Use {@link RhinoException#lineNumber()} from the super class. */ public int getLineNumber() { return lineNumber(); }
/** * @deprecated Use {@link RhinoException#lineNumber()} from the super class. */ public int getLineNumber() { return lineNumber(); }
/** * @deprecated Use {@link RhinoException#lineNumber()} from the super class. */ public int getLineNumber() { return lineNumber(); }
/** * @deprecated Use {@link RhinoException#lineNumber()} from the super class. */ public int getLineNumber() { return lineNumber(); }
/** * @deprecated Use {@link RhinoException#lineNumber()} from the super class. */ public int getLineNumber() { return lineNumber(); }
/** * @deprecated Use {@link RhinoException#lineNumber()} from the super class. */ @Deprecated public int getLineNumber() { return lineNumber(); }
/** * Creates a more detailed message based on {@link RhinoException} thrown by rhino execution. The message will contain * a detailed description of the problem by inspecting the JSON value provided by exception. * * @param e * {@link RhinoException} thrown by rhino execution. * @return detailed string message. */ public static String createExceptionMessage(final RhinoException e) { StringBuffer message = new StringBuffer("Could not execute the script because: \n"); if (e instanceof JavaScriptException) { message.append(toJson(((JavaScriptException) e).getValue())); } else if (e instanceof EcmaError) { final EcmaError ecmaError = (EcmaError) e; message.append(String.format("Error message: %s at line: %s. \nSource: %s", ecmaError.getErrorMessage(), ecmaError.lineNumber(), ecmaError.lineSource())); } else { message.append(e.getMessage()); } return message.toString(); }
/** * Creates a more detailed message based on {@link RhinoException} thrown by rhino execution. The message will contain * a detailed description of the problem by inspecting the JSON value provided by exception. * * @param e * {@link RhinoException} thrown by rhino execution. * @return detailed string message. */ public static String createExceptionMessage(final RhinoException e) { StringBuffer message = new StringBuffer("Could not execute the script because: \n"); if (e instanceof JavaScriptException) { message.append(toJson(((JavaScriptException) e).getValue())); } else if (e instanceof EcmaError) { final EcmaError ecmaError = (EcmaError) e; message.append(String.format("Error message: %s at line: %s. \nSource: %s", ecmaError.getErrorMessage(), ecmaError.lineNumber(), ecmaError.lineSource())); } else { message.append(e.getMessage()); } return message.toString(); }
public Object evaluateJavascript(String javascript) throws Exception { try { Object result = cx.evaluateString(scope, javascript, "main", 1, null); return result; } catch(EcmaError e) { for(JavascriptRunnerListener listener : listeners){ listener.runtimeError(e.details(), e.sourceName(), e.lineNumber()); } throw e; } }
public Location getLocation(Object obj, String description) { if (obj instanceof EcmaError) { EcmaError ex = (EcmaError)obj; if (ex.sourceName() != null) { return new LocationImpl(ex.getName(), ex.sourceName(), ex.lineNumber(), ex.columnNumber()); } else { return Location.UNKNOWN; } } else if (obj instanceof JavaScriptException) { JavaScriptException ex = (JavaScriptException)obj; if (ex.sourceName() != null) { return new LocationImpl(description, ex.sourceName(), ex.lineNumber(), -1); } else { return Location.UNKNOWN; } } return null; } };
@Override public Object eval(Reader reader, ScriptContext context) throws ScriptException { String filename = (String) get(ScriptEngine.FILENAME); if (filename == null) { filename = "<Unknown Source>"; } Object result; EngineScope scope = new EngineScope(context); Global global = getGlobal(); scope.setParentScope(global); scope.setPrototype(global); Context cx = enterContext(); try { scope.put("exports", scope, cx.newObject(global)); result = cx.evaluateReader(scope, reader, filename, 1, null); } catch (EcmaError e) { throw new ScriptException( e.getMessage(), e.sourceName(), e.lineNumber(), e.columnNumber()); } catch (Exception e) { throw new ScriptException(e); } finally { Context.exit(); } return result; }