nodejs express异常捕获

参考连接: http://blog.coinidea.com/web%E5%BC%80%E5%8F%91/nodejs-1131.htmljavascript

因为nodejs是非阻塞单进程单线程的,一旦nodejs抛出异常,整个服务就会停掉。服务将会很是不稳定。 解决方法:html

  1. 使程序鲁棒,在有可能出现异常的地方,所有使用try { } catch(){ }进行嵌套。
  2. express做为nodejs比较经常使用的框架,其实nodejs本身也有必定的异常错误捕获机制
// Express' errorHandler
function errorHandler(err, req, res, next) {
console.error(err.stack);
}
app.use(errorHandler);
  1. 使用domain模块,先下载domain, “npm install domain”
//Domain捕获异常
app.use(function(req, res, next) {
var domain = createDomain();
domain.on('error', function(err) {
// alternative: next(err)
console.log(err.stack);
res.statusCode = 500;
res.end(err.message + '\n');
domain.dispose();
});
domain.enter();
next();
});
  1. 使用forever启动app.js,forever能够看作是一个nodejs的守护进程,可以启动,中止,重启咱们的app应用。
forever start app.js

参考连接: http://blog.coinidea.com/web%E5%BC%80%E5%8F%91/nodejs-1131.htmljava

相关文章
相关标签/搜索