Expressデフォルトのエラーハンドラを設定するには、ルーティングの定義の後ろで app.use
に関数を渡します。
次のコードはコンソールにエラーログを吐き、レスポンスとしては500エラーを返します。
const express = require('express');
const app = express();
app.get('/', (req, res) => {
throw new Error('error!');
});
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Internal Server Error');
});
app.listen('3000', () => {
console.log('Application started');
});
$ curl http://localhost:3000
Internal Server Error