我将如何正确地捕捉到这个?

How would I correctly .catch this?

我正在尝试捕捉 // this line,但我似乎找不到将捕捉器放置在何处以正确捕捉它。

      mutedList.forEach((i) => {
      if (i.mutedEnd*1000 < new Date()){
        console.log(i)
        db.collection('muted').doc(i.userID).get().then((q) => {
        db.collection('muted').doc(i.userID).update({
          stillMuted: false
        }).then(
          bot.guilds.get(i.guildID).members.get(i.userID).removeRole(i.mutedRole) // this line | here
        ).catch((err) => {
          bot.createMessage('717822384198910042',{ embed: {
            title: 'ERROR',
            description: '```js\n'+err.stack+'\n```',
            color: hex
          }});
      })}
    )}
  })

我已经尝试过它当前所在的位置,以及我放置 HERE

的位置

你不能.catch();那句话,因为它不是承诺。

试试这个代码,你可能会得到错误,因为你正试图对可能返回的东西使用方法undefined所以这会在执行任何方法之前检查公会和成员是否存在。

then(() => {
    const guild = bot.guilds.get(i.guildID);
    if (guild) const member = guild.members.get(i.userID);
    if (member) member.removeRole(i.mutedRole);
})

您目前拥有的 .catch(); 仅用于处理对原始承诺的拒绝 db.collection('muted').doc(i.userID).update

我还注意到您正在使用 Discord.js v11,我建议更新到 v12,因为 v11 将在 10 月底被废弃。