I am writing an application that wants to examine the state of an
application without mutating it.
If the application throws an error, I'd like to be able to grab the string
stack trace located in error.stack.
In JSCore for example, this isn't a problem because I can do
Object.getOwnPropertyDescriptor(error, "stack").value.
However, in v8, stack is a getter/setter, not a value. This would maybe
not be a problem if I could do something like
Error.prototype.stack.apply(myError). But, as it turns out it is a *unique*
getter for every error:
Object.getOwnPropertyDescriptor(new Error, "stack").get !==
Object.getOwnPropertyDescriptor(new Error, "stack").get.
As such, I would at the very least like to be able to make sure that its
the normal stack getter (in which case I can feel
safe that its not doing any funny business for example if the user has
overwritten it with their own custom stack getter
that mutates the state of the program, or possibly throws an exception
itself!). So far the best I can come up with is to check
whether the source of the getter is "function() { [native code] }" which is
obviously not ideal since this doesn't preclude the user
havign set the stack getter to a *different* native function. Is there any
way to achieve what I want that I'm missing?
Thanks,
Francisco
--
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to the Google Groups
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.