当node程序出现错误的时候,首先是要捕捉到错误,然后处理错误,不能让进程挂掉,最后是将错误写进日志.
1.在app.js最开始写,用process对象,监听uncaughtException事件
process.on('uncaughtException', function (err) {
logger.error('Caught exception: ', err);
});
用process的是能将程序挂掉的错误捕获.
2.使用domain模块来捕获错误
3.express默认使用的是morgan 日志模块,
app.use(logger('dev')); //app.use的所有模块的最前面
app.use(function(err, req, res, next){}) 捕获在请求中的错误
一般的导致进程崩溃的错误,一般都是在callback中导致的.
由于异常而导致的堆栈丢失会导致内存泄漏
4.var server = http.createServer(app);
server.on('error', onError);
5.下面是错误类型,参考 https://my.oschina.net/u/1416844/blog/498647
如果启动时,都启动不来,如下面的例子:
49707 segmentation fault node server.js 这个是node的版本太旧了