Reputation: 197
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
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