nodejs express異常捕獲


參考鏈接:
http://blog.coinidea.com/web開發/nodejs-1131.html

由於nodejs是非阻塞單進程單線程的,一旦nodejs拋出異常,整個服務就會停掉。服務將會非常不穩定。
解決方法:

  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開發/nodejs-1131.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM