如何使用NodeJS

时间:2015-12-09 18:17:52

标签: node.js unhandled-exception

我收到了一个未处理的错误,但不知道它来自哪里。我的应用程序在不同的方法中有几个http.request(选项,回调).end(),回调"陷阱" uncaughtException"和"错误"。我想知道我的哪些方法引发了这个问题。以下是我得到的错误。这是随机的。任何想法如何追踪这个?我希望有一些全局方法可以捕获未处理的错误。

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: read ECONNRESET
    at exports._errnoException (util.js:746:11)
    at TCP.onread (net.js:559:26)

2 个答案:

答案 0 :(得分:6)

ECONNRESET表示TCP连接的另一端被中止。您可以查看服务器日志,但由于它是随机时间,这使我认为服务器变得过载并杀死一些连接。

如果您在此过程中的任何时间点启动流程,请尝试以下操作:

process.on('uncaughtException', function (err) {
  console.error(err.stack);
  console.log("Node NOT Exiting...");
});

答案 1 :(得分:2)

附上

request.on('error', function(err) {
    // Handle error
});

根据您的要求。

您还可以捕获该过程的未捕获错误:

process.on('uncaughtException', function(err) {
  console.log('Caught exception: ' + err);
});

这个错误因为它读取状态连接被重置,所以它肯定是其中一个请求。