Básicamente, el problema es que incluso si envuelvo el código que causa el error al intentar atrapar, el error aún detiene el código, aquí está mi código.
// 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'); }¿Por qué mi código se detiene incluso si lo envuelvo con try catch?
try/catch debe usarse en combinación con async/await . Si desea utilizar el método then/catch síncrono, utilice la devolución de llamada .catch() respectiva.
client.users.fetch('does-not-exist') .then(function (user) { user.send('hello'); }) .catch(err => /* error handle */);Si desea ignorar el error, anule el error.
.catch(_ => null);Cómo se vería con async await
try { const user = await client.users.fetch('does-not-exist') } catch (err) { /* Handle Error */ }