全部產品
Search
文件中心

Alibaba Cloud SDK:異常處理

更新時間:Jul 01, 2024

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));
});