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_THREADSAFE build, the caller must be in a request on this JSContext . |
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;