-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Accessing JS error object from MiniRacer::EvalError? #129
Comments
I think we need to fix our internals to account for the wrapper, can you give it a shot in a PR? |
I'm not sure I can follow. I took a quick peek at https://github.com/discourse/mini_racer/blob/master/lib/mini_racer.rb#L170-L184 but could not spot anything that looks like a wrapper or exception handling. In case you are referring to the the C code in https://github.com/discourse/mini_racer/blob/master/ext/mini_racer_extension/mini_racer_extension.cc, I have to pass (I don't understand it). Just in case we have a misunderstanding: I'd like to access the thrown javascript error object: context.eval('throw new MyError("a message", { some: "meta data" });'); Is there a way to access the thrown error from miniracer? |
Can you point me in the right direction, @SamSaffron? |
I think you are talking about these lines: At the moment we send a very rudimentary exception back so what we would want to do is look at the return result there and maybe convert the object to JSON and attach to Runtime error. It is somewhat tricky but we could provide more info for sure. |
Okay, this seems nothing I can directly contribute code changes too, sorry :( It would be great, if feasible, to have a method on the |
I'm wondering how I can access the JavaScript error object from
MiniRacer::EvalError
.I want to run script snippets from users and I want to report errors to them. We have some extended attributes on custom errors which I would need to access.
The only way I found to solve this is by wrapping the script before sending it to
MiniRacer::Context#eval
like this:With this I can access
thrownError
. But my issue is, that line numbers in backtraces are off. My current solution is to have a map that contains offsets accounting for the wrapper script.Is there any other way to achieve this?
The text was updated successfully, but these errors were encountered: