Siriusmart
Siriusmart

Reputation: 197

Discordjs could not catch a DiscordAPIError

Basically the problem is that even if I wrap the code that causes the error in try catch, the error still stops the code, here's my code.

// snip
try{
    // get user using id "does-not-exist", which does not exist
    // code stops when fetching user
    client.users.fetch('does-not-exist').then(function (user) {
        user.send('hello');
    });
}catch(err){
    console.error('message could not be sent');
}

Why does my code stops even if I wrap it with try catch?

Upvotes: 2

Views: 1388

Answers (1)

Elitezen
Elitezen

Reputation: 6710

try/catch should be used in combination with async/await. If you want to use synchronous then/catch, use the respective .catch() callback.

client.users.fetch('does-not-exist')
   .then(function (user) {
        user.send('hello');
   })
   .catch(err => /* error handle */);

If you want to ignore the error void it

.catch(_ => null);

How it would look with async await

try {
   const user = await client.users.fetch('does-not-exist')
} catch (err) {
   /* Handle Error */
}

Upvotes: 1

Related Questions