Alibaba Cloud SDK V2.0 for .NET を使用するときに発生する可能性のある例外は、次のタイプに分類されます。
TeaUnretryableException: このタイプの例外は、ネットワークの問題が原因で発生します。再試行回数が上限に達すると、TeaUnretryableException がスローされます。
exception.getLastRequestメソッドを呼び出すと、例外がスローされた API リクエストに関する情報を取得できます。TeaException: このタイプの例外は、ビジネスエラーが原因で発生します。このタイプの例外を処理するために、次の 3 つのパラメーターが提供されます。
code: 例外が発生したときに返されるエラーコード。
message: 例外が発生したときに返されるエラーメッセージ。メッセージには、例外がスローされた API リクエストの ID が含まれています。
data: 例外に対してサーバーから返される詳細なエラー情報。
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using Tea;
using Tea.Utils;
namespace AlibabaCloud.SDK.Sample
{
public class Sample
{
/**
* AccessKey ID と AccessKey シークレットを使用してクライアントを初期化します。
* @param accessKeyId
* @param accessKeySecret
* @return Client
* @throws Exception
*/
public static AlibabaCloud.SDK.Ecs20140526.Client CreateClient()
{
AlibabaCloud.OpenApiClient.odels.Config config = new AlibabaCloud.OpenApiClient.Models.Config
{
// 必須。コードランタイム環境で ALIBABA_CLOUD_ACCESS_KEY_ID 環境変数が構成されていることを確認します。
AccessKeyId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// 必須。コードランタイム環境で ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が構成されていることを確認します。
AccessKeySecret = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
};
config.Endpoint = "ecs.cn-qingdao.aliyuncs.com";
return new AlibabaCloud.SDK.Ecs20140526.Client(config);
}
public static void Main(string[] args)
{
AlibabaCloud.SDK.Ecs20140526.Client client = CreateClient();
AlibabaCloud.SDK.Ecs20140526.Models.DescribeInstancesRequest describeInstancesRequest = new AlibabaCloud.SDK.Ecs20140526.Models.DescribeInstancesRequest
{
RegionId = "cn-qingdao",
};
AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
try
{
client.DescribeInstancesWithOptions(describeInstancesRequest, runtime);
}
catch (TeaException error)
{
// エラーメッセージ。
Console.WriteLine(error.Message);
// 対応するエラー診断ページの URL。
Console.WriteLine(error.Data["Recommend"]);
AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
}
catch (Exception _error)
{
TeaException error = new TeaException(new Dictionary<string, object>
{
{ "message", _error.Message }
});
// エラーメッセージ。
Console.WriteLine(error.Message);
// 対応するエラー診断ページの URL。
Console.WriteLine(error.Data["Recommend"]);
AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
}
}
}
}