Sets the current exception being thrown within a context.

Syntax

void
JS_SetPendingException(JSContext *cx, JS::HandleValue v);
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.
v JS::HandleValue Value to throw as an exception.

Description

JS_SetPendingException sets the current exception being thrown within a context. If an exception is already being thrown, it is replaced with the new one given.

v is the new value to throw as an exception.

A native function or hook using this to throw an exception must also return false to ensure the exception is thrown.

Each JSContext's pending-exception field is a GC root. That is, garbage collection never collects a pending exception.

See examples in the JSAPI Phrasebook.

See Also