Node.js使用try-catch绕过超时错误

时间:2019-02-05 12:21:10

标签: javascript node.js discord.js

有时候,我正在创建的Discord Bot似乎失去了与Discord的连接,然后出现了错误

Error: Something took too long to do.
at timeout.client.setTimeout (C:\Users\Sebastian\Desktop\Git Repos\MelloBot\MelloBot\node_modules\discord.js\src\client\ClientManager.js:40:57)
at Timeout.setTimeout [as _onTimeout] (C:\Users\Sebastian\Desktop\Git Repos\MelloBot\MelloBot\node_modules\discord.js\src\client\Client.js:433:7)
at listOnTimeout (timers.js:327:15)
at processTimers (timers.js:271:5)

发生。

我很确定这是我的电脑,因为它不是最新的电脑。所以我想,如果我可以让bot.js打开该机器人的另一个实例(打开我用来启动的批处理)并关闭最近的一个实例。我开始是这样的:

try {
            //whole bot.js

        } catch (err) {
            console.log(err);
            console.log("");
            try {
            var child_process = require('child_process');

                child_process.exec('C:\Users\Sebastian\Desktop\Git Repos\MelloBot\MelloBot\startBot.bat', function(error, stdout, stderr) {
                console.log(stdout);
                process.exit(1);
            });
            } catch (erro) {
                console.log(erro);
                console.log("");
            }
        }

为简单起见:我认为,只要发生错误,就会停止bot,它将“重新启动”。有没有更好的方法可以设置超时重新启动方法,因为这不起作用?

0 个答案:

没有答案