Я делаю это немного по-другому. Если вы посмотрите на код промежуточного программного обеспечения для статического файлового сервера, он учитывает функцию обратного вызова, которая вызывается с ошибками. Единственный улов - вам нужен объект ответа, чтобы отправить что-то полезное обратно на сервер. Поэтому я делаю следующее:
var errMsgs = { "404": "Dang that file is missing" };
app.use(function(req, res, next){
express.static.send(req, res, next, {
root: __dirname + "/public",
path: req.url,
getOnly: true,
callback: function(err) {
console.log(err);
var code = err.status || 404,
msg = errMsgs["" + code] || "All is not right in the world";
res.render("error", { code: code, msg: msg, layout: false});
}
});
});
В основном, если происходит ошибка, она отображает мою красивую страницу с ошибкой и записывает что-то, чтобы я мог где-то отладить.