如何处理错误,忽略错误并继续执行该功能? discord.js

时间:2020-02-06 22:58:59

标签: javascript node.js error-handling discord discord.js

我正尝试与我的所有朋友对我私人服务器中的所有用户进行dm操作,但是其中一些用户不希望进行dmed操作,因此他们关闭了dms。因此,我收到一个错误,该错误使该漫游器无法继续进入其他用户。发现错误后如何跳过该用户,并告诉我的漫游器继续在此之后的下一个用户dm。

这是我的代码

  const Discord = require('discord.js');
const figlet = require('figlet');
const colors = require('colors');
const readline = require('readline');
const commando = require(`discord.js-commando`);

const config = require('./config.json');
const bot = new commando.Client({
    commandPrefix:'£',
    owner: config.id
});

const cmdsArray = [
    "dmall <message>",
    "dmrole <role> <message>"
];

bot.on("ready", () => {
    clear();
    console.log('______')
    bot.user.setActivity('PRDX');
});


bot.on("error", (error) => {
    bot.login(config.token);
});

bot.registry.registerGroup('dms', 'help');
bot.registry.registerDefaults();
bot.registry.registerCommandsIn(__dirname + "/commands");

if (process.env.BOT_TOKEN) bot.login(process.env.BOT_TOKEN);
else bot.login(config.token);
}

我知道我没有处理任何错误,但是我不确定该如何处理,真的可以使用一些帮助

这也是我的bot.js代码

list.innerHTML = '';

3 个答案:

答案 0 :(得分:0)

基本上,您将想捕获该错误,如果该错误发生,则希望它通过并忽略该错误。在Javascript中,这称为“尝试并捕获”。请在下面阅读有关内容,然后将其应用于发现错误的任何地方。

https://www.w3schools.com/js/js_errors.asp

答案 1 :(得分:0)

您可以使用.catch()块,member.send('Message')返回成功发送消息或错误的承诺。因此您可以使用

member.send('message').catch(console.error)

答案 2 :(得分:0)

代码中的任何地方都使用错误事件侦听器

client.on("error", () => { client.login(token) });