# एरर-हैंडलिंग मिडलवेयर — एक्सप्रेस.जेएस

Source: https://www.geekswithgeeks.com/hi/expressjs/ex-error-handling

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

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

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

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

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

```javascript
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' });
});
```

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

- [ ] 2
- [ ] 3
- [x] 4

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