express router get error handling code example

Example 1: how to handle all error of all router in express

var router = express.Router();

router.get('/req1', handleErrorAsync(async (req, res, next) => {
   let result = await someAsyncFunction1();
   if(result){
       // res.send whatever
   }
}));
router.post('/req2', handleErrorAsync(async (req, res, next) => {
    let result = await someAsyncFunction2(req.body.param1);
    if(result){
        // res.send whatever
    }
}));
router.post('/req3', handleErrorAsync(async (req, res, next) => {
    let result = await someAsyncFunction3(req.body.param1, req.body.param2);
    if(result){
        // res.send whatever
    }
}));

module.exports = router;

Example 2: express error handling

app.use(function (err, req, res, next) {
  console.error(err.stack)
  res.status(500).send('Something broke!')
})

Example 3: error * route

app.get('*', (request, response) => response.status(404).send('This route does not exist'));

Example 4: express generator error handling

app.get('/', function (req, res) {
  throw new Error('BROKEN') // Express will catch this on its own.
})

Tags:

Misc Example