process: Add --unhandled-rejections=throw and =warn-with-error-code by dfabulich · Pull Request #33475 · nodejs/node

@nodejs-github-bot added c++

Issues and PRs that require attention from people who are familiar with C++.

process

Issues and PRs related to the process subsystem.

labels

May 20, 2020

ljharb

benjamingr

addaleax

@addaleax addaleax added author ready

PRs that have at least one approval, no pending requests for changes, and a CI started.

semver-minor

PRs that contain new features and should be released in the next minor version.

labels

May 22, 2020

@BridgeAR BridgeAR removed the author ready

PRs that have at least one approval, no pending requests for changes, and a CI started.

label

May 23, 2020

This was referenced

Jun 16, 2020

codebytere pushed a commit that referenced this pull request

Jun 18, 2020
This PR defines two new modes for the --unhandled-rejections flag.

The first mode is called "throw". The "throw" mode first emits
unhandledRejection. If this hook is not set, the "throw" mode will
raise the unhandled rejection as an uncaught exception.

The second mode is called "warn-with-error-code". The
"warn-with-error-code" mode first emits unhandledRejection. If this
hook is not set, the "warn-with-error-code" mode will trigger a
warning and set the process's exit code to 1.

The PR doesn't change the default behavior for unhandled rejections.
That will come in a separate PR.

Refs: #33021

PR-URL: #33475
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>

This was referenced

Jun 19, 2020

codebytere added a commit that referenced this pull request

Jun 28, 2020
Notable changes:

build:
  * (SEMVER-MINOR) reset embedder string to "-node.0" (Michaël Zasso) #33376
cli:
  * (SEMVER-MINOR) add alias for report-directory to make it consistent (AshCripps) #33587
crypto:
  * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) #33360
deps:
  * (SEMVER-MINOR) V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) #33376
  * (SEMVER-MINOR) update V8 to 8.3.110.9 (Michaël Zasso) #33376
dgram:
  * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) #22413
events:
  * (SEMVER-MINOR) initial implementation of experimental EventTarget (James M Snell) #33556
fs:
  * (SEMVER-MINOR) implement lutimes (Maël Nison) #33399
http:
  * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) #33803
  * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) #33617
  * (SEMVER-MINOR) return this from OutgoingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from ClientRequest#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) added scheduling option to http agent (delvedor) #33278
http2:
  * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
  * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) #33160
process:
  * (SEMVER-MINOR) add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) #33475
src:
  * (SEMVER-MINOR) store key data in separate class (Tobias Nießen) #33360
  * (SEMVER-MINOR) add NativeKeyObject base class (Tobias Nießen) #33360
  * (SEMVER-MINOR) rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
  * (SEMVER-MINOR) add equality operators for BaseObjectPtr (Anna Henningsen) #33772
  * (SEMVER-MINOR) introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
  * (SEMVER-MINOR) add public APIs to manage v8::TracingController (Anna Henningsen) #33850
win:
  * (SEMVER-MINOR) allow skipping the supported platform check (João Reis) #33176
worker:
  * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) #33979
  * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
worker,fs:
  * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) #33772
zlib:
  * (SEMVER-MINOR) add `maxOutputLength` option (unknown) #33516

PR-URL: #34093

codebytere added a commit that referenced this pull request

Jun 28, 2020
Notable changes:

build:
  * (SEMVER-MINOR) reset embedder string to "-node.0" (Michaël Zasso) #33376
cli:
  * (SEMVER-MINOR) add alias for report-directory to make it consistent (AshCripps) #33587
crypto:
  * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) #33360
deps:
  * (SEMVER-MINOR) V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) #33376
  * (SEMVER-MINOR) update V8 to 8.3.110.9 (Michaël Zasso) #33376
dgram:
  * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) #22413
events:
  * (SEMVER-MINOR) initial implementation of experimental EventTarget (James M Snell) #33556
fs:
  * (SEMVER-MINOR) implement lutimes (Maël Nison) #33399
http:
  * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) #33803
  * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) #33617
  * (SEMVER-MINOR) return this from OutgoingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from ClientRequest#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) added scheduling option to http agent (delvedor) #33278
http2:
  * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
  * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) #33160
process:
  * (SEMVER-MINOR) add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) #33475
src:
  * (SEMVER-MINOR) store key data in separate class (Tobias Nießen) #33360
  * (SEMVER-MINOR) add NativeKeyObject base class (Tobias Nießen) #33360
  * (SEMVER-MINOR) rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
  * (SEMVER-MINOR) add equality operators for BaseObjectPtr (Anna Henningsen) #33772
  * (SEMVER-MINOR) introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
  * (SEMVER-MINOR) add public APIs to manage v8::TracingController (Anna Henningsen) #33850
win:
  * (SEMVER-MINOR) allow skipping the supported platform check (João Reis) #33176
worker:
  * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) #33979
  * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
worker,fs:
  * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) #33772
zlib:
  * (SEMVER-MINOR) add `maxOutputLength` option (unknown) #33516

PR-URL: #34093

codebytere added a commit that referenced this pull request

Jun 30, 2020
Notable changes:

build:
  * (SEMVER-MINOR) reset embedder string to "-node.0" (Michaël Zasso) #33376
cli:
  * (SEMVER-MINOR) add alias for report-directory to make it consistent (AshCripps) #33587
crypto:
  * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) #33360
deps:
  * (SEMVER-MINOR) V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) #33376
  * (SEMVER-MINOR) update V8 to 8.3.110.9 (Michaël Zasso) #33376
dgram:
  * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) #22413
events:
  * (SEMVER-MINOR) initial implementation of experimental EventTarget (James M Snell) #33556
fs:
  * (SEMVER-MINOR) implement lutimes (Maël Nison) #33399
http:
  * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) #33803
  * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) #33617
  * (SEMVER-MINOR) return this from OutgoingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from ClientRequest#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) added scheduling option to http agent (delvedor) #33278
http2:
  * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
  * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) #33160
process:
  * (SEMVER-MINOR) add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) #33475
src:
  * (SEMVER-MINOR) store key data in separate class (Tobias Nießen) #33360
  * (SEMVER-MINOR) add NativeKeyObject base class (Tobias Nießen) #33360
  * (SEMVER-MINOR) rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
  * (SEMVER-MINOR) add equality operators for BaseObjectPtr (Anna Henningsen) #33772
  * (SEMVER-MINOR) introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
  * (SEMVER-MINOR) add public APIs to manage v8::TracingController (Anna Henningsen) #33850
stream*:
  * runtime deprecate Transform._transformState (Robert Nagy) #32763
win:
  * (SEMVER-MINOR) allow skipping the supported platform check (João Reis) #33176
worker:
  * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) #33979
  * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
worker,fs:
  * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) #33772
zlib:
  * (SEMVER-MINOR) add `maxOutputLength` option (unknown) #33516

PR-URL: #34093

codebytere pushed a commit that referenced this pull request

Jun 30, 2020
This PR defines two new modes for the --unhandled-rejections flag.

The first mode is called "throw". The "throw" mode first emits
unhandledRejection. If this hook is not set, the "throw" mode will
raise the unhandled rejection as an uncaught exception.

The second mode is called "warn-with-error-code". The
"warn-with-error-code" mode first emits unhandledRejection. If this
hook is not set, the "warn-with-error-code" mode will trigger a
warning and set the process's exit code to 1.

The PR doesn't change the default behavior for unhandled rejections.
That will come in a separate PR.

Refs: #33021

PR-URL: #33475
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>

codebytere added a commit that referenced this pull request

Jun 30, 2020
Notable changes:

build:
  * (SEMVER-MINOR) reset embedder string to "-node.0" (Michaël Zasso) #33376
cli:
  * (SEMVER-MINOR) add alias for report-directory to make it consistent (AshCripps) #33587
crypto:
  * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) #33360
deps:
  * (SEMVER-MINOR) V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) #33376
  * (SEMVER-MINOR) update V8 to 8.3.110.9 (Michaël Zasso) #33376
dgram:
  * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) #22413
events:
  * (SEMVER-MINOR) initial implementation of experimental EventTarget (James M Snell) #33556
fs:
  * (SEMVER-MINOR) implement lutimes (Maël Nison) #33399
http:
  * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) #33803
  * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) #33617
  * (SEMVER-MINOR) return this from OutgoingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from ClientRequest#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) added scheduling option to http agent (delvedor) #33278
http2:
  * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
  * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) #33160
process:
  * (SEMVER-MINOR) add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) #33475
src:
  * (SEMVER-MINOR) store key data in separate class (Tobias Nießen) #33360
  * (SEMVER-MINOR) add NativeKeyObject base class (Tobias Nießen) #33360
  * (SEMVER-MINOR) rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
  * (SEMVER-MINOR) add equality operators for BaseObjectPtr (Anna Henningsen) #33772
  * (SEMVER-MINOR) introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
  * (SEMVER-MINOR) add public APIs to manage v8::TracingController (Anna Henningsen) #33850
stream*:
  * runtime deprecate Transform._transformState (Robert Nagy) #32763
win:
  * (SEMVER-MINOR) allow skipping the supported platform check (João Reis) #33176
worker:
  * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) #33979
  * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
worker,fs:
  * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) #33772
zlib:
  * (SEMVER-MINOR) add `maxOutputLength` option (unknown) #33516

PR-URL: #34093

codebytere added a commit that referenced this pull request

Jun 30, 2020
Notable changes:

build:
  * (SEMVER-MINOR) reset embedder string to "-node.0" (Michaël Zasso) #33376
cli:
  * (SEMVER-MINOR) add alias for report-directory to make it consistent (AshCripps) #33587
crypto:
  * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) #33360
deps:
  * (SEMVER-MINOR) V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) #33376
  * (SEMVER-MINOR) update V8 to 8.3.110.9 (Michaël Zasso) #33376
dgram:
  * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) #22413
events:
  * (SEMVER-MINOR) initial implementation of experimental EventTarget (James M Snell) #33556
fs:
  * (SEMVER-MINOR) implement lutimes (Maël Nison) #33399
http:
  * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) #33803
  * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) #33617
  * (SEMVER-MINOR) return this from OutgoingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from ClientRequest#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) added scheduling option to http agent (delvedor) #33278
http2:
  * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
  * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) #33160
process:
  * (SEMVER-MINOR) add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) #33475
src:
  * (SEMVER-MINOR) store key data in separate class (Tobias Nießen) #33360
  * (SEMVER-MINOR) add NativeKeyObject base class (Tobias Nießen) #33360
  * (SEMVER-MINOR) rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
  * (SEMVER-MINOR) add equality operators for BaseObjectPtr (Anna Henningsen) #33772
  * (SEMVER-MINOR) introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
  * (SEMVER-MINOR) add public APIs to manage v8::TracingController (Anna Henningsen) #33850
stream*:
  * runtime deprecate Transform._transformState (Robert Nagy) #32763
win:
  * (SEMVER-MINOR) allow skipping the supported platform check (João Reis) #33176
worker:
  * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) #33979
  * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
worker,fs:
  * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) #33772
zlib:
  * (SEMVER-MINOR) add `maxOutputLength` option (unknown) #33516

PR-URL: #34093

glasser added a commit to glasser/node that referenced this pull request

Mar 24, 2021
These values were added in v15.0.0 by nodejs#33475 but were not included in the
`node --help` output.

Also document which value is the default.

Fixes nodejs#37896.

glasser added a commit to glasser/node that referenced this pull request

Mar 25, 2021
These values were added in v15.0.0 by nodejs#33475 but were not included in the
`node --help` output.

Also document which value is the default.

Fixes nodejs#37896.

aduh95 pushed a commit to glasser/node that referenced this pull request

Mar 28, 2021
These values were added in v15.0.0 by nodejs#33475 but were not included in
the `node --help` output.

Also documents which value is the default.

PR-URL: nodejs#37899
Fixes: nodejs#37896
Refs: nodejs#33475
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

ruyadorno pushed a commit that referenced this pull request

Mar 29, 2021
These values were added in v15.0.0 by #33475 but were not included in
the `node --help` output.

Also documents which value is the default.

PR-URL: #37899
Fixes: #37896
Refs: #33475
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

ruyadorno pushed a commit that referenced this pull request

Mar 30, 2021
These values were added in v15.0.0 by #33475 but were not included in
the `node --help` output.

Also documents which value is the default.

PR-URL: #37899
Fixes: #37896
Refs: #33475
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

targos pushed a commit that referenced this pull request

May 1, 2021
These values were added in v15.0.0 by #33475 but were not included in
the `node --help` output.

Also documents which value is the default.

PR-URL: #37899
Fixes: #37896
Refs: #33475
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>