javascript - 处理错误

标签 javascript error-handling discord.js

我希望机器人接收/dm命令,然后将DM发送给特定的人。目标是targetid,而DM内容是letter。该命令本身有效-捕获错误无效。如果我使targetid类似于267或任何其他不可能的targetid,则不会将错误输出为新消息。

try {
    client.users.fetch(targetid).then((user) => {user.send(letter);})
    message.react("✅")
} catch (err) {
    message.channel.send("❗ Something went wrong! Refer to the error log below.\n\n ``" + err + "``\n(Bot administrator contacted: <@...>)") //Removed my ID
    message.react("❌")
}

最佳答案

我建议使用Promise#catch()而不是正常的try/catch,因为这是fetch()返回的内容:

client.users
    .fetch(targetid)
    .then(user => {
        user.send(letter)
        message.react('✅')
    })
    .catch(err => {
        message.channel.send('❗ Something went wrong! Refer to the error log below.\n\n ``' + err + '``\n(Bot administrator contacted: <@...>)') //Removed my ID
        message.react('❌')
    })


您可以阅读有关它的更多信息here

关于javascript - 处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65721383/

相关文章:

javascript - 如何阻止内部div与外部div重叠?

Javascript 将值输入到文本框而不是 Python 中的 sendKeys()

javascript - 在 puppeteer 中访问子元素

javascript - 使用 Discord.js 创建和覆盖 channel 权限

javascript - 如何拒绝Rails更新方法并触发JavaScript警报框?

go - errors.Wrapf()、errors.Errorf() 和 fmt.Errorf() 之间有什么区别?

php - 引用 - 这个错误在 PHP 中意味着什么?

excel - VBA 从类模块中引发错误(使用 Class_Initialize)失败

javascript - 如何从文本文件中获取随机行并将其打印出来

javascript - Discord JS "send"未定义