Skip to content
Permalink
Browse files

doc: add clarification for exception behaviour

Document current behaviour where some methods can be called
when an exception is pending, while others cannot and explain
the behaviour.

PR-URL: #25339
Refs: nodejs/abi-stable-node#356
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
  • Loading branch information...
mhdawson authored and addaleax committed Jan 4, 2019
1 parent f3d8639 commit 8bc16512498bf54516a2bd943254343cc5b95e60
Showing with 9 additions and 0 deletions.
  1. +9 −0 doc/api/n-api.md
@@ -527,6 +527,15 @@ exception is pending and no additional action is required. If the
instead of simply returning immediately, [`napi_is_exception_pending`][]
must be called in order to determine if an exception is pending or not.

In many cases when an N-API function is called and an exception is
already pending, the function will return immediately with a
`napi_status` of `napi_pending_exception`. However, this is not the case
for all functions. N-API allows a subset of the functions to be
called to allow for some minimal cleanup before returning to JavaScript.
In that case, `napi_status` will reflect the status for the function. It
will not reflect previous pending exceptions. To avoid confusion, check
the error status after every function call.

When an exception is pending one of two approaches can be employed.

The first approach is to do any appropriate cleanup and then return so that

0 comments on commit 8bc1651

Please sign in to comment.
You can’t perform that action at this time.