How do I debug unhandled promise rejections in Node.js?
Unhandled promise rejections happen when a promise is rejected without a catch handler. Use `process.on('unhandledRejection')` to catch them globally and identify the issue.
Unhandled promise rejections occur when a promise is rejected, but no error handler (i.e., .catch()
) is attached to it. In earlier versions of Node.js, unhandled rejections were simply logged, but since Node 15, they terminate the process by default. To debug unhandled rejections, you can listen for the process.on('unhandledRejection')
event to log and trace where the rejection occurs. Alternatively, always chain .catch()
handlers to your promises to ensure all errors are caught. Using async/await syntax also helps, as you can wrap your async functions in a try/catch
block for clearer error handling. Catching unhandled rejections ensures your app doesn’t crash unexpectedly and makes debugging promise-related issues easier.