Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何预防;错误:connect ECONREFUSSED";_Javascript_Node.js - Fatal编程技术网

Javascript 如何预防;错误:connect ECONREFUSSED";

Javascript 如何预防;错误:connect ECONREFUSSED";,javascript,node.js,Javascript,Node.js,我现在正在使用node.js编写的TS3查询机器人。 我添加了一个自动重新连接到它,但我现在有一个问题,即如果服务器脱机时出现以下错误,bot将崩溃: events.js:85 throw er; // Unhandled 'error' event ^ Error: connect ECONNREFUSED at exports._errnoException (util.js:746:11) at TCPConnectWrap.afterConnect [as o

我现在正在使用node.js编写的TS3查询机器人。 我添加了一个自动重新连接到它,但我现在有一个问题,即如果服务器脱机时出现以下错误,bot将崩溃:

events.js:85
  throw er; // Unhandled 'error' event
        ^
Error: connect ECONNREFUSED
  at exports._errnoException (util.js:746:11)
  at TCPConnectWrap.afterConnect [as oncomplete] (net.js:983:19)
启动连接的线路如下所示:

var cl = new ts3.TeamSpeakClient(config.serverIP);
与节点ts api一起使用->

我已经添加了以下事件:

cl.on('error', function(err){
    console.log("bla: " + err)
});
cl.on('uncaughtException', function (err) {
    console.log(err);
});
uncaughtException不会被触发,错误也不会阻止崩溃

如何防止它崩溃


编辑:它是异步的,顺便说一句。

您需要在进程上而不是在ts3对象中捕获未捕获的异常

process.on('uncaughtException', function (err) {
  console.log(err);
})
有关处理异常的更多信息,请参阅

更新:

cl也有自己的失败承诺。要这样实施:

cl.fail(function(err) {
    console.log("An error occurred." + util.inspect(err))
});

进程是否已折旧且仅在同步位置工作?1。错误被记录,但仍然崩溃。2.未定义“失败”错误。我忘了添加它是异步的。@user2693017:它没有被弃用,今天也可以使用,而且它也不依赖于同步位置。@SirWill:。失败,我从您刚才指出的文档中获取。它将崩溃,因为您只是记录错误,而不是重新启动进程。我在错误中给出的链接,为您提供了一种重新启动流程的方法。要重生,你可以永远使用这个模块