我的很多node.js进程都因ECONNRESET错误而崩溃。这是我能看到的输出:
node.js:50
throw e;
^
Error: ECONNRESET, Connection reset by peer
at Client._readImpl (net:320:14)
at IOWatcher.callback (net:470:24)
at node.js:607:9
有谁知道如何处理这个问题?它不是一个非常有用的堆栈跟踪,所以我不知道它在哪里发生。我应该通过带有try / catch块的http来包装对远程源的任何和所有访问吗?或者有更好的方法吗?
一般情况下,我不关心这是否确实发生过,或者由于这个原因,某些任务没有完成。我所关心的是,这个过程应该耸耸肩,继续完成下一个任务。
答案 0 :(得分:15)
您需要附加到套接字的错误事件。如果不这样做,则默认操作是在发生错误时抛出异常。
socket.on('error', function (exc) {
sys.log("ignoring exception: " + exc);
});