catch не получает ошибку из блока try

У меня есть код:

try {
x.chat({
 message: message.content, 
},"ru" ).then(reply => { 
//код
})
}
catch (e){
   console.log(e)
 }

но catch не перехватывает ошибки после .then, как это можно исправить?


Ответы (1 шт):

Автор решения: Dmitriy Grape

try/catch работает в паре с async/await, если вы пишете через .then, то и ошибки должны отлавливать с помощью .catch

async/await:

try {
   const reply = await x.chat({message: message.content}, 'ru')
}
catch (e){
   console.log(e)
}

.then

x.chat({message: message.content}, 'ru')
.then(reply => ...)
.catch(err => console.log(err))
→ Ссылка