पाठ 15 / 23

एरर-हैंडलिंग मिडलवेयर

एक विशेष 4-आर्ग्युमेंट मिडलवेयर जिसे Express अपने-आप पहचानता है।

4-आर्ग्युमेंट हस्ताक्षर

बिल्कुल (err, req, res, next) वाला मिडलवेयर एक एरर हैंडलर माना जाता है। जहाँ भी next(err) बुलाया जाए, Express सीधे इस पर पहुँच जाता है।

एक केंद्रीकृत हैंडलर

इसे सबसे आख़िर में, सभी routes के बाद रजिस्टर करें — एरर लॉग करने और JSON response बनाने की एक जगह।

app.get('/risky', (req, res, next) => {
  try {
    throw new Error('Something broke');
  } catch (err) {
    next(err);   // hand off to the error handler
  }
});

// must be registered after all routes
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).json({ error: err.message || 'Internal Server Error' });
});

त्वरित जाँच: एक एरर-हैंडलिंग मिडलवेयर फ़ंक्शन को कितने आर्ग्युमेंट स्वीकार करने चाहिए?

  • 2
  • 3
  • 4
Answer

4 — Express एरर हैंडलर को केवल आर्ग्युमेंट की संख्या से पहचानता है — बिल्कुल (err, req, res, next)।