假设是使用nodejs+express3这个经典的组合。那么有一种非常方面的处理回调函数异常的方法:
1. 安装模块:express-domain-middleware
2. 增加例如以下的代码:
app.use(require('express-domain-middleware'));
app.use(function errorHandler(err, req, res, next) {logger.error('error on request %d %s %s: %j', process.domain.id, req.method, req.url, err);res.send(500, "there is an error in callback function");if(err.domain) {//you should think about gracefully stopping & respawning your server//since an unhandled error might put your application into an unknown state}
});
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));