异常处理
本节主要介绍原版 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);
}
}