Tag: uncaught exception

当发生错误时,pm2不重新启动worker

我正在使用pm2来pipe理我的nodejs express应用程序(以集群模式运行)中的进程。 我们有2种error handling程序 第一:'uncaughtException'将被处理 process.on('uncaughtException', function(err){}); 实际上,我并没有声明这样的处理器,让PM2在这种情况下检测到死亡的工作者,所以自动重新启动死亡的工作者。 SECOND:表示error handling程序,我的意思是错误将被转发到expressionerror handling程序,而不是uncaughtException处理程序,像下面的error handling程序 app.use(function(err, req, res, next) {}) 我也没有声明这个error handling程序与uncaughtException相同的目的。 但在这种情况下pm2不重新启动节点。 任何关于这个问题的想法? 非常感谢

如何处理http.get响应中未被捕获的exception

我有这个代码使用API​​从第三方网站下载新闻提要。 它的设置每5秒运行一次,并且可能会发生任何新闻交易。 这个问题似乎是在没有发生新的事务时。 通过添加process.on('未捕获的exception',函数(error){console.log(“hmph”)})cron作业能够在5秒后继续,所以我被诱惑离开它。 然而,我添加了console.log(“hmph”)到现在我很困惑。 第一次,控制台会写hmph。 5秒钟后它会写hmph hmph 等等。 我知道我一定错过了一些东西,但我不太清楚它是什么。 我已经尝试在else语句中执行request.end(),但错误仍然激发。 没有process.on('uncaught …')抛出的错误是: events.js:71个参数[1]; //未处理的错误事件^错误:在TCP.onread(net.js:403:27)的Socket.socketOnData(http.js:1367:20) 用proccess.on('uncaught …')console.log(错误)是: {[Error:Parse Error] bytesParsed:161,code:'HPE_INVALID_CONSTANT'} 我如何正确处理这个错误? 缩写代码: var job = new cronJob('*/5 * * * * *', function(){ var request = http.get({ host: 'www.example.com', path: '/news_feed?apicode=myapicode', port: 80, headers: { 'accept-encoding': 'gzip' } }) request.on('response', function(response){ if (response.statusCode == 200){ […]

处理“未捕获的exception”仍然以某种方式崩溃的应用程序

寻找关于如何debugging应用程序的随机崩溃而不被以下事件捕获的想法: process.on('uncaughtException', function(err){}); 我也没有尝试Winston(日志文件保持空)来捕捉导致应用程序崩溃的任何东西: winston.handleExceptions(new winston.transports.File({ filename: 'exceptions.log' })) 什么样的程序错误甚至可以通过这些?

node.js – PM2将未捕获的exceptionlogging到第三方服务(如Logentries)

我在我的node.js项目中使用pm2( https://github.com/Unitech/pm2 )。 此外,我发送Logentries( https://logentries.com )中的应用程序的错误日志。 我想知道是否有可能从应用程序中logging未捕获的exception(当某些事情严重失败,pm2重新启动应用程序)? 我知道使用process.on('uncaughtException')是不好的做法,所以想听听一些build议。 谢谢!