异常处理
更新时间:
V1.0 Node.js SDK允许用户通过配置参数codes
来精细控制API调用的异常处理逻辑。在调用OpenAPI的过程中,系统会自动检查OpenAPI返回参数中携带的Code字段。如果该Code值与用户在Client配置中指定的codes
列表中的任何一个值相匹配,或者等于200
、OK
、Success
、success
中的任何值时,则不会触发异常抛出,反之则会抛出异常。
例如在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));
});
文档内容是否对您有帮助?