mediumLow-Level Design

How do you handle uncaught exceptions and unhandled promise rejections in Node.js?

423 views
01

Understand the problem

Detail the global event listeners used to catch unexpected application-level errors and prevent silent failures.

errorsprocessbest-practices
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Last-resort handlers
process.on('unhandledRejection', (reason) => {
  log.error({ reason }, 'unhandledRejection');
  throw reason;                       // promote to uncaughtException
});

process.on('uncaughtException', (err) => {
  log.fatal(err, 'uncaughtException — restarting');
  server.close(() => process.exit(1)); // drain, then let supervisor restart
  setTimeout(() => process.exit(1), 5000).unref();
});
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.