Join MDN and developers like you at Mozilla's View Source conference, November 2-4 in Portland, Oregon. Learn more at


Saves the exception state from the specified context.


JSExceptionState *
JS_SaveExceptionState(JSContext *cx);
Name Type Description
cx JSContext * Pointer to a JS context from which to derive runtime information. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.


Saves the current exception state (that is, any pending exception, or a cleared exception state) associated with the specified context cx, and returns a JSExceptionState object holding this state. That object may then be used to restore again the context using JS_RestoreExceptionState, or discarded using JS_DropExceptionState. Either of those two functions frees any memory used by the JSExceptionState.

The JSExceptionState created by this function automatically roots any pending exception object which needs to be protected from the GC.

This function returns NULL if the engine was not built with support for exceptions.

See Also

Document Tags and Contributors

Contributors to this page: arai, fscholz, Jorend, Waldo, MMondor
Last updated by: arai,
Hide Sidebar