全部产品
Search
文档中心

Alibaba Cloud SDK:Tangani pengecualian

更新时间:Jun 28, 2025

SDK V1.0 untuk Node.js memungkinkan Anda mengontrol logika penanganan pengecualian dari panggilan API dengan mengonfigurasi parameter codes. Saat memanggil operasi API, sistem secara otomatis memeriksa parameter Code dalam respons. Jika nilai parameter Code sesuai dengan salah satu nilai yang ditentukan untuk parameter codes dalam konfigurasi klien, atau bernilai 200, OK, Success, atau success, maka tidak ada pengecualian yang dilemparkan. Sebaliknya, sebuah pengecualian akan dilemparkan.

Sebagai contoh, jika Anda menentukan InvalidOperation.NotSupportedEndpoint untuk parameter codes, dan nilai parameter Code dalam respons adalah InvalidOperation.NotSupportedEndpoint, program tidak akan menganggap ini sebagai pengecualian, sehingga operasi tetap berjalan tanpa gangguan. Pengecualian yang ditentukan ditangani secara diam-diam, meningkatkan ketahanan dan pengendalian logika kode Anda. Metode ini memungkinkan penanganan pengecualian yang lebih tepat serta membuat aplikasi lebih fleksibel dalam merespons berbagai hasil dari operasi API.

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


const client = new RPCClient({
    // Dapatkan ID AccessKey dari pengguna Resource Access Management (RAM) dari variabel lingkungan.
    accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
    // Dapatkan Rahasia AccessKey dari pengguna RAM dari variabel lingkungan.
    accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
    endpoint: 'https://ecs.cn-beijing.aliyuncs.com',
    apiVersion: '2014-05-26',
    // Lempar pengecualian jika kode respons bukan 200, OK, Success, success, atau nilai dari parameter codes.
    // Nilai parameter codes dalam contoh ini hanya untuk referensi. Tentukan parameter ini berdasarkan kebutuhan bisnis Anda.
    codes: ['InvalidOperation.NotSupportedEndpoint'],
});

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

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