Tous les produits
Search
Centre de documentation

Alibaba Cloud SDK:Gestion des exceptions

Dernière mise à jour :Aug 11, 2026

Alibaba Cloud SDK V2.0 pour Node.js lève des types d'erreurs spécifiques en cas de défaillances réseau ou métier. Découvrez ces types d'exceptions et apprenez à les gérer.

Alibaba Cloud SDK V2.0 pour Node.js lève les types d'exceptions suivants :

  • UnretryableError : cette erreur résulte de problèmes réseau et survient lorsque le nombre maximal de tentatives est atteint. Utilisez err.data.lastRequest pour récupérer les informations de la requête au moment de l'erreur.

  • ResponseError : cette exception provient d'erreurs métier. Utilisez les paramètres suivants pour le diagnostic :

    • code : code d'erreur associé à l'exception.

    • message : message d'erreur décrivant l'exception, incluant l'ID de requête de l'appel API.

    • data : informations détaillées sur l'erreur renvoyées par le serveur.

Exemple de code :

Important

Dans cet exemple, les messages d'erreur s'affichent uniquement à titre indicatif. En production, ne négligez jamais la gestion des exceptions. Mettez en œuvre une propagation appropriée des erreurs, un système de journalisation et des mécanismes de nouvelle tentative afin de garantir la robustesse et la stabilité du système.

const { default: Ecs20140526, DescribeRegionsRequest } = require('@alicloud/ecs20140526');
const { Config } = require('@alicloud/openapi-client');
const { RuntimeOptions } = require('@alicloud/tea-util');
async function main() {
    const config = new Config({
        // Obtain the AccessKey ID of the RAM user from an environment variable.
        accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
        // Obtain the AccessKey secret of the RAM user from an environment variable.
        accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
        // The region ID.
        regionId: 'cn-beijing',
    });
    const client = new Ecs20140526(config);
    const request = new DescribeRegionsRequest({
        instanceChargeType: "PrePaid",
    });
    // Create a RuntimeOptions instance and configure runtime parameters. 
    const runtime = new RuntimeOptions();
    try {
        const resp = await client.describeRegionsWithOptions(request, runtime);
        console.log(resp.headers);
        console.log(resp.body);
    } catch (err) {
        // Handle exceptions with caution based on your actual business scenario and do not ignore exceptions in your project. The error message displayed in this example is for reference only. 
        console.log(err.code);
        console.log(err.message);
        console.log(err.data);
    }
}

main();
import Ecs20140526, * as $Ecs20140526 from '@alicloud/ecs20140526';
import * as $OpenApi from '@alicloud/openapi-client';
import * as $Util from '@alicloud/tea-util';

export default class Client {
    static async main(): Promise<void> {
        const config = new $OpenApi.Config({
            // Obtain the AccessKey ID of the RAM user from an environment variable.
            accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
            // Obtain the AccessKey secret of the RAM user from an environment variable.
            accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
            // The region that you want to access.
            regionId: 'cn-beijing',
        });
        const client = new Ecs20140526(config);
        const request = new $Ecs20140526.DescribeRegionsRequest({
            instanceChargeType: "PrePaid",
        });
        // Create a RuntimeOptions instance and configure runtime parameters. 
        const runtime = new $Util.RuntimeOptions();
        try {
            const resp = await client.describeRegionsWithOptions(request, runtime);
            console.log(resp.headers);
            console.log(resp.body);
        } catch (err) {
            // Handle exceptions with caution based on your actual business scenario and do not ignore exceptions in your project. The error message displayed in this example is for reference only. 
            console.log(err.code);
            console.log(err.message);
            console.log(err.data);
        }
    }
}