全部產品
Search
文件中心

Alibaba Cloud SDK:異常處理

更新時間:Jul 01, 2024

本節主要介紹升級版 SDK 的異常種類以及對於異常的處理。

新版SDK異常

新版 SDK 將異常的種類進行了一定的細分,主要細分為以下幾個 Exception

  1. UnretryableException:該異常主要是因為網路問題造成,一般是網路問題造成達到最大重試次數後拋出。

  2. TeaException: 在 SDK 的請求中主要以業務報錯為主的異常,該異常的樣本中提供了三個參數為使用者排查問題提供協助:

    code: OpenAPI 業務報錯的錯誤碼。

    message:OpenAPI 業務報錯的錯誤資訊,其中會包含本次請求的 RequestId。

    data:OpenAPI 報錯後服務端返回的詳細資料。

  3. import os
    
    from Tea.exceptions import UnretryableException, TeaException
    from alibabacloud_ecs20140526.models import DescribeImagesRequest
    from alibabacloud_ecs20140526.client import Client
    from alibabacloud_tea_openapi.models import Config
    
    '''雲端服務器樣本'''
    # 初始化Config
    config = Config(
        access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
        access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
        region_id='<regionId>'
    )
    client = Client(config)
    # 初始化Request
    request = DescribeImagesRequest(image_id='<image-id>', region_id='<regionId>')
    try:
        response = client.describe_images(request)
    except UnretryableException as e:
        # 網路異常
        print(e)
    except TeaException as e:
        # 業務異常
        print(e)
    except Exception as e:
        # 其他異常
        print(e)