异常处理

本节主要介绍原版 SDK 的异常以及如何进行异常处理。

原版 SDK 的异常主要通过捕获 ServerException 和 ClientException 异常来获取错误信息,在原版 SDK 中如果没有请求到服务端则无法通过异常获取到 RequestId, 如果请求得到了服务端则能获取到 RequestId 这个属性,通过这个属性可以让阿里云的开发同学协助使用 OpenAPI 的开发者排查问题。

static void Main(string[] args)
{
    // 构建一个 Client,用于发起请求
    IClientProfile profile = DefaultProfile.GetProfile(
        "<your-region-id>",
        "<your-access-key-id>",
        "<your-access-key-secret>");
    DefaultAcsClient client = new DefaultAcsClient(profile);

    try
    {
        // 构造请求
        DescribeInstancesRequest request = new DescribeInstancesRequest();
        request.PageSize = 10;

        // 发起请求,并得到 Response
        DescribeInstancesResponse response = client.GetAcsResponse(request);
        System.Console.WriteLine(response.TotalCount);
    }
    catch (ServerException ex)
    {
        System.Console.WriteLine(ex.ToString());
        // 这里可以添加您自己的错误处理逻辑
        // 例如,打印具体的错误信息
        Console.WriteLine("ErrorCode=" + e.ErrorCode);
        Console.WriteLine("ErrorMessage=" + e.ErrorMessage);
        // 如果遇上棘手问题,可以提交工单,并将RequestId提供给我们
        Console.WriteLine("ErrorCode=" + e.RequestId);
    }
    catch (ClientException ex)
    {
        System.Console.WriteLine(ex.ToString());
        // 这里可以添加您自己的错误处理逻辑
        // 例如,打印具体的错误信息
        Console.WriteLine("ErrorCode=" + e.ErrorCode);
        Console.WriteLine("ErrorMessage=" + e.ErrorMessage);
    }
}
阿里云首页 阿里云SDK 相关技术圈