В общем случае вам нужно будет отловить эту ошибку, а затем заполнить объект ответа http так же, как если бы вы отправляли данные успешного ответа обратно запрашивающей стороне.
Синхронная обработка:
try {
// do my requested stuff
res.status(200).json({something:"returned"});
} catch(ex) {
res.status(500).json(ex);
};
Обещания:
Promise.resolve()
.then(() => {
// do my requested stuff
// return my results stuff to the client
res.status(200).json({something:"returned"});
})
.catch((ex) => {
// return 500 error and exception data to the client
res.status(500).json(ex);
});
Кроме того, как стандартная практика, вы должны отлавливать все ошибки, и, по крайней мере, вы должны вернуть 500 в браузер res.status(500)
, чтобы вы не уходилиОн зависает, когда возникают неожиданные проблемы.
И, конечно, вы можете вернуть html, а не json, и / или дополнительную информацию в ответе.
Удачи.