class ExecJS::RubyRhinoRuntime::Context

def wrap_error(e)

def wrap_error(e)
  return e unless e.is_a?(::Rhino::JSError)
  error_class = e.message == "syntax error" ? RuntimeError : ProgramError
  stack = e.backtrace
  stack = stack.map { |line| line.sub(" at ", "").sub("<eval>", "(execjs)").strip }
  stack.unshift("(execjs):1") if e.javascript_backtrace.empty?
  error = error_class.new(e.value.to_s)
  error.set_backtrace(stack)
  error
end