From 70c280ca578ff28b5acf92f37fbe06d42a5b34ca Mon Sep 17 00:00:00 2001 From: Onur <154966188+onurhanife@users.noreply.github.com> Date: Fri, 16 Feb 2024 02:18:29 +0300 Subject: [PATCH] feat: Node process exits with error code 1 on uncaught exception to allow custom uncaught exception handling (#8894) BREAKING CHANGE: Node process now exits with code 1 on uncaught exceptions, enabling custom handlers that were blocked by Parse Server's default behavior of re-throwing errors. This change may lead to automatic process restarts by the environment, unlike before. --- src/ParseServer.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ParseServer.js b/src/ParseServer.js index 91d151b3f9..880c5f84aa 100644 --- a/src/ParseServer.js +++ b/src/ParseServer.js @@ -244,7 +244,15 @@ class ParseServer { process.stderr.write(`Unable to listen on port ${err.port}. The port is already in use.`); process.exit(0); } else { - throw err; + if (err.message) { + process.stderr.write('An uncaught exception occurred: ' + err.message); + } + if (err.stack) { + process.stderr.write('Stack Trace:\n' + err.stack); + } else { + process.stderr.write(err); + } + process.exit(1); } }); // verify the server url after a 'mount' event is received