This article covers features introduced in SpiderMonkey 31
Save and later restore the current exception state of a given JSContext.
Syntax
JS::AutoSaveExceptionState(JSContext *cx);
| Name | Type | Description | 
|---|---|---|
| cx | JSContext * | Pointer to a JS context from which to derive runtime information. Requires request. In a JS_THREADSAFEbuild, the caller must be in a request on thisJSContext. | 
Description
JS::AutoSaveExceptionState saves and later restores the current exception state of a given JSContext.
This is useful for implementing behavior in C++ that's like try/catch or try/finally in JS.
Example
// Typical usage: bool ok = JS::Evaluate(cx, ...); AutoSaveExceptionState savedExc(cx); ... cleanup that might re-enter JS ... return ok;