【发布时间】:2012-09-06 01:58:06
【问题描述】:
我在运行 node.js 脚本时偶尔会收到此错误。
events.js:66
throw arguments[1]; // Unhandled 'error' event
^
Error: write ECONNRESET
at errnoException (net.js:768:11)
at Object.afterWrite (net.js:592:19)
是什么导致了这个错误?我在某个地方读到这是由于尝试将数据写入关闭的套接字而引起的。 对吗?
如果是这种情况,如何检查套接字连接是否处于活动状态? 我发现了这个 SO 问题here,但没有人在那里回答。
第三,是一个简单的在 socket.write 语句周围的 try catch,足以处理这个错误吗?或者它会发出我必须处理的错误事件?
【问题讨论】:
-
检查是完全没有意义的。即使您检查时它很好,但当您尝试写入时它仍然可能失败。
-
哦.. 最后一个问题呢?只是一个 try..catch 处理它吗?
-
我相信是这样,但是我对node.js不是很熟悉,所以我没有回答。
-
当我的服务器尝试写入已关闭的套接字连接时,我遇到了同样的错误。并且 try/catch 无法抓住异常。 (我正在使用节点 v0.10.8)
-
我只是使用了一个 process.on 来处理未处理的异常。
process.on('uncaughtException', function(e) { console.log(e.stack); });
标签: javascript sockets node.js error-handling socket.io