javascript - 在哪里可以找到 AWS-SDK 中用于 NodeJS typescript 中的 dynamodb 的所有异常类?

标签 javascript node.js error-handling amazon-dynamodb nestjs

我正在尝试将一些数据插入到 dynamodb 中,正如预期的那样,我得到了一个 ConditionalCheckFailedException。因此,我试图仅针对该场景捕获该异常,除此之外,我想为所有其他错误抛出服务器错误。 但是要添加类型,我无法在 aws-sdk 中找到 ConditionalCheckFailedException

这就是我想要做的。

// 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')
  }
}

最佳答案

更新:aws-sdk v3

从版本 v3 开始,属性名称已更改为 name:

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

旧帖:aws-sdk v2

您可以改用以下守卫来检查错误:

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

请注意,instanceof 仅适用于类,不适用于接口(interface)。所以即使你有类型,如果它是一个接口(interface),你也不能使用它,因为它依赖于某些原型(prototype)检查。使用 err.code 属性更安全。

关于javascript - 在哪里可以找到 AWS-SDK 中用于 NodeJS typescript 中的 dynamodb 的所有异常类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55538055/

相关文章:

javascript - 在 Javascript 中导入

javascript - 对数据执行一系列查询,允许失败

jquery - 快速捕获中 Unresolved 已识别错误

javascript - 从 Monaco Editor 获取错误

javascript - 异步更改 javascript 函数/"class"的参数?

javascript - 如何通过ajax传递json数据?

node.js - NPM 在 docker 容器中升级后中断

javascript - node.js 服务器无法在虚拟机中工作(Azure 云服务)

javascript - onclick ="confirm()"取消按钮不工作

javascript - 在 Vue 中使用带有动态属性的媒体查询