mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
9dcc9b6a6b
This adds a flag to define the default behavior for unhandled rejections. Three modes exist: `none`, `warn` and `strict`. The first is going to silence all unhandled rejection warnings. The second behaves identical to the current default with the excetion that no deprecation warning will be printed and the last is going to throw an error for each unhandled rejection, just as regular exceptions do. It is possible to intercept those with the `uncaughtException` hook as with all other exceptions as well. This PR has no influence on the existing `unhandledRejection` hook. If that is used, it will continue to function as before. PR-URL: https://github.com/nodejs/node/pull/26599 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Matheus Marchini <mat@mmarchini.me> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
17 lines
445 B
JavaScript
17 lines
445 B
JavaScript
// Flags: --unhandled-rejections=strict
|
|
'use strict';
|
|
|
|
require('../common');
|
|
|
|
// Check that the process will exit on the first unhandled rejection in case the
|
|
// unhandled rejections mode is set to `'strict'`.
|
|
|
|
const ref1 = new Promise(() => {
|
|
throw new Error('One');
|
|
});
|
|
|
|
const ref2 = Promise.reject(new Error('Two'));
|
|
|
|
// Keep the event loop alive to actually detect the unhandled rejection.
|
|
setTimeout(() => console.log(ref1, ref2), 1000);
|