内部サーバー エラーをユーザーに伝達するためのベスト プラクティスがあるかどうか疑問に思っています。IE は実際のエラーではなく (サーバー側でログに記録します)、少なくとも 500 とメッセージです。
私は現在持っています:
app.use(function(err, req, res, next) {
console.error(err.stack);
res.send(500, 'Internal server error, please contact server administrator.');
});
エラーがスローされた場合にサーバーがクラッシュすることを除いて、これは素晴らしいことです (予想されます)。
そのため、現在、すべてのエラーを高速ルートに伝播しています。
app.get('/api/users', function (req, res, next) {
User.getUsers(function (err, users) { // err comes back in function
// dont throw err here in callback
// throw err;
// Instead call next with the error to let express now something bad happened
if (err) return next(err);
res.json(users);
});
});
これは、同じコード行を持つ 30 のルートがあることを除けば、うまく機能します。
if (err) return next(err);
大したことではありませんが、「より良い」方法があるかどうか疑問に思います。
ありがとう。