Bird
0
0

Examine this Express error handler:

medium📝 Debug Q7 of 15
Node.js - Error Handling Patterns
Examine this Express error handler:
app.use((err, req, res) => {
  res.status(500).json({ error: err.message });
});
What is the issue with this middleware?
AIt lacks the 'next' parameter, so Express won't recognize it as error middleware.
BIt should use res.send() instead of res.json() for errors.
CIt should not set status code inside error middleware.
DIt should be registered before route handlers.
Step-by-Step Solution
Solution:
  1. Step 1: Check middleware signature

    Error handling middleware must have four parameters: err, req, res, next.
  2. Step 2: Identify missing parameter

    This middleware only has three parameters, missing 'next'.
  3. Step 3: Understand Express behavior

    Without 'next', Express treats it as normal middleware, not error handler.
  4. Final Answer:

    Missing 'next' parameter causes Express to ignore it as error handler. -> Option A
  5. Quick Check:

    Four parameters needed for error middleware [OK]
Quick Trick: Error middleware must have 4 parameters including 'next' [OK]
Common Mistakes:
  • Omitting 'next' parameter
  • Registering error middleware before routes
  • Using wrong response methods

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Node.js Quizzes