首页 > 解决方案 > 识别适用于 JavaScript 的 AWS 开发工具包引发的异常的最佳方法是什么?

问题描述

通常我创建/使用错误类来识别来源或错误并适当处理 - 如下所示:

错误类示例:

class ApplicationError extends Error {
    get name() {
        return this.constructor.name;
    }
}

class DatabaseError extends ApplicationError { }

module.exports = {
    ApplicationError,
    DatabaseError
}

错误处理示例:

const { DatabaseError } = require('./error');

async dbUpdater() {
    try {
        await this._updateDb();
    } catch (err) {
        if (err instanceof DatabaseError) {
            // handle db error...
        } else {
            throw error;
        }
    }
}

然而,AWS SDK for JS V2 抛出的所有异常都使用默认的“Error”类,而不是像“AWSError”这样更有用的东西。识别适用于 JavaScript 的 AWS 开发工具包引发的异常以便对其进行相应处理的最佳方法是什么?

我可以查找的所有 AWS 错误中是否有共同的属性?

编辑:error.code 似乎在所有 AWS 错误中都很常见,但我不能单独测试该属性,因为抛出包含“代码”属性的非 AWS 错误。我还可以查找的所有 AWS 错误中的其他属性是否常见?我在文档中看不到包含此信息的页面。

标签: javascriptnode.jserror-handlingaws-lambdaaws-sdk

解决方案


推荐阅读