Разногласие обработчика ошибок

#javascript #discord.js

#javascript #discord.js

Вопрос:

Я пытаюсь создать обработчик ошибок, чтобы мой бот не отключался.

 async function catchErr (error, message) {
    await client.users.fetch("id").send("ERROR"   error) ("There was an error at channel"   message.channel   "in guild"   message.guild);
    await client.users.get("id").send ("ERROR"   error)
    console.error(error, message);
    await message.author.send(error)
}
 

Нет ошибки

Комментарии:

1. Но он не отправит ошибку пользователю

2. он просто отключается

3. Я пытался top.gg и discord.js

4. серверы discord

5. Пожалуйста, обновите свой вопрос подробностями отладки. Важно знать, была ли вообще вызвана ваша функция, и точная строка, в которой произошел сбой. Я рекомендую использовать ipdb, если это возможно в вашем случае github.com/gotcha/ipdb . Также, пожалуйста, не спамите в разделе комментариев.

Ответ №1:

Вам не нужно делать что-то свое. Используйте этот .catch() метод для обнаружения ошибок.

Использование:

     if (message.content.startsWith(prefix   "ping")) {
        message.channel.send("pong").catch(err => {
            console.log(``)
            console.log(`Unable to Respond in ${message.guild.name}`) | message.channel.send(`**Error.**`).then(msg => {
                msg.delete({ timeout: 3000 })
            })
        })
    }
 

Улавливает ошибки при запросе команды … если есть ошибка.