Q14: How do you handle 404 (Not Found) errors in Express?

Difficulty:EasyTopic:Routing

In Express, a 404 is not an error generated by next(err)—it is simply the result of reaching the end of the middleware chain without any route matching the requested path.

Catch-All 404 Handler
// Placed right before global error-handling middleware
app.use((req, res, next) => {
  res.status(404).json({
    error: 'Resource Not Found',
    path: req.originalUrl
  });
});
💡 If no routes handle the request, control falls through to this catch-all middleware.
Key Takeaways
  • Place 404 middleware after all defined valid routes.
  • 404s are fallback routes, not uncaught system runtime exceptions.