<!-- Thank you for reporting an issue. This issue tracker is for bugs and issues found within Node.js core. If you require more general support please file an issue on our help repo. https://github.com/nodejs/help Please fill in as much of the template below as you're able. Version: output of `node -v` Platform: output of `uname -a` (UNIX), or output of `"$([Environment]::OSVersion | ForEach-Object VersionString) $(if ([Environment]::Is64BitOperatingSystem) { "x64" } else { "x86" })"` in PowerShell console (Windows) Subsystem: if known, please specify affected core module name --> * **Version**: v15.14.0 * **Platform**: all * **Subsystem**: process/execution ### What steps will reproduce the bug? 1. Register an `uncaughtExceptionMonitor` handler on `process`, which itself throws 2. Throw an error without catching it ### How often does it reproduce? Is there a required condition? Every time. ### What is the expected behavior? <!-- If possible please provide textual output instead of screenshots. --> `uncaughtException` event on `process` to be fired, if error is handled don't crash the process. - Ideally with an `AggregateError` containing both errors - But at least with the original error ### What do you see instead? <!-- If possible please provide textual output instead of screenshots. --> The process simply dies with error code `7`. `uncaughtException` isn't emitted. ### Additional information #### Example file: ```js process.addListener('uncaughtExceptionMonitor', (e) => { console.error('Monitored Error!', e); throw new Error('Oopsie!'); }); process.addListener('uncaughtException', e => { console.error('Handled error!', e); }) let i = 0; setInterval(() => console.log(i++), 1000); throw new Error('Thrown!'); ``` #### Expected ``` Monitored: ... Handled: ... 0 1 2 ... ``` #### Actual ``` Monitored: ... /path/to/test.js:3 throw new Error('Oopsie!'); ^ Error: Oopsite! at ... $ # process died, error code is 7 ```