Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keep track of the context in which an exception was thrown #95

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

andreubotella
Copy link
Member

This is needed for error events in the web integration (equivalent to Node.js's process.on("uncaughtException")).

The exact spec infrastructure for this is not yet settled, this is only one proposal.

This might be used by web specs like this:

  1. Let previousContext be AsyncContextSwap(someContext).
  2. Invoke someCallback. If this throws an exception err, then:
    1. Let throwContext be the surrounding agent's [[ThrowAsyncContextMapping]].
    2. If throwContext is EMPTY, set throwContext to AsyncContextSnapshot().
    3. Report the exception err with throwContext.

This is needed for `error` events in the web integration (equivalent
to Node.js's `process.on("uncaughtException")`).

This might be used by web specs like this:

>  1. Let `previousContext` be AsyncContextSwap(`someContext`).
>  2. Invoke `someCallback`. If this throws an exception `err`, then:
>     1. Let `throwContext` be the surrounding agent's
>        [[ThrowAsyncContextMapping]].
>     2. If `throwContext` is EMPTY, set `throwContext` to
>        AsyncContextSnapshot().
>     3. Report the exception `err` with `throwContext`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant