在 app.js 中
- 404 错误处理
app.use(function (req, res, next) {
console.log(req.url, '404 error');
var err = new Error('Not Found');
err.status = 404;
next(err);
});
2. 错误处理
function clientErrorHandler(err, req, res, next) {
if (req.xhr) {
console.error('clientErrors response' + err.toString());
res.status(500).json({error: err.toString()});
} else {
next(err);
}
}
function errorHandler(err, req, res, next) {
console.error('lastErrors response');
res.status(500).json({error: err.toString()});
}
app.use(clientErrorHandler);
app.use(errorHandler);
- 处理uncaughtException
process.on('uncaughtException', function (err) {
//打印出错误
console.log("on uncaughtException");
console.log(err);
//打印出错误的调用栈方便调试
console.log(err.stack);
});
经过实际使用,只要加上这几个异常处理,程序一般情况不会挂掉,个人还没有碰到过会挂掉的情况