异常处理

更新时间:

V1.0 Node.js SDK允许用户通过配置参数codes来精细控制API调用的异常处理逻辑。在调用OpenAPI的过程中,系统会自动检查OpenAPI返回参数中携带的Code字段。如果该Code值与用户在Client配置中指定的codes列表中的任何一个值相匹配,或者等于200OKSuccesssuccess中的任何值时,则不会触发异常抛出,反之则会抛出异常。

例如在codes中配置了InvalidOperation.NotSupportedEndpoint,那么当OpenAPI调用返回参数中Code的值为InvalidOperation.NotSupportedEndpoint时,程序将不会视为异常情况而中断执行,从而实现了对特定场景的静默处理,增强了代码的健壮性和逻辑的可控性。这种方式为开发者提供了更细致的错误管理手段,使得应用程序能够更加灵活地应对各种OpenAPI调用结果。

const RPCClient = require('@alicloud/pop-core').RPCClient;


const client = new RPCClient({
    // 从环境变量中获取RAM用户的AccessKey ID
    accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
    // 从环境变量中获取RAM用户的AccessKey Secret
    accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
    endpoint: 'https://ecs.cn-beijing.aliyuncs.com',
    apiVersion: '2014-05-26',
    // 非codes中配置的值或者不等于200, '200', 'OK', 'Success', 'success'内的值,将抛出异常
    // 此处只做示例使用,实际开发应该跟据具体场景配置
    codes: ['InvalidOperation.NotSupportedEndpoint'],
});

const params = {
    RegionId: 'cn-beijing',
};
const action = 'DescribeInstances';

client.request(action, params).then((result) => {
    console.log(JSON.stringify(result));
});