где найти все классы исключений в AWS-SDK для DynamodB в машинописи NodeJS? - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь вставить некоторые данные в DynamodB, и, как и ожидалось, я получаю ConditionalCheckFailedException. Поэтому я пытаюсь перехватить это исключение только для этого сценария, кроме того, что я хочу выдать ошибку сервера для всех остальных ошибок. Но, чтобы добавить тип, я не могу найти ConditionalCheckFailedException в aws-sdk.

Это то, что я пытался сделать.

// where to import this from   
try {
   await AWS.putItem(params).promise()
} catch (e) {
  if (e instanceof ConditionalCheckFailedException) { // unable to find this exception type in AWS SDK
    throw new Error('create error')
  } else {
    throw new Error('server error')
  }
}

1 Ответ

1 голос
/ 05 апреля 2019

Вы можете проверить ошибку, используя вместо этого следующую защиту:

if (e.code === 'ConditionalCheckFailedException') {

Обратите внимание, что instanceof работает только на классах, а не на интерфейсах. Таким образом, даже если у вас был тип, если это был интерфейс, вы не могли бы использовать его, потому что он опирается на определенные проверки прототипа. Использование свойства err.code безопаснее.

...