Я бы попытался придерживаться встроенной обработки ошибок, а не придумывать свою собственную.
Если вы намерены вызвать handleRouterError
с ошибкой перед передачей ошибки вызывающей стороне, вы можете сделать что-то вроде этого:
class Controller {
async resolve(promise) {
try {
return await promise;
} catch (error) {
handleRouteError(error);
throw error;
}
}
}
и использовать метод resolve
, подобный этому:
const { getDays } = require('./controllers/getDays');
const controller = new Controller;
router.get('/days', async function getDayDays(req, res, next) {
try {
res.json(await controller.resolve(getDays(res.locals.user_id)));
} catch (err) {
next(err)
}
});