本節主要介紹升級版 SDK 的異常種類以及對於異常的處理。
新版SDK異常
新版 SDK 將異常的種類進行了一定的細分,主要細分為以下幾個 Exception
UnretryableException:該異常主要是因為網路問題造成,一般是網路問題造成達到最大重試次數後拋出。
TeaException: 在 SDK 的請求中主要以業務報錯為主的異常,該異常的樣本中提供了三個參數為使用者排查問題提供協助:
code: OpenAPI 業務報錯的錯誤碼。
message:OpenAPI 業務報錯的錯誤資訊,其中會包含本次請求的 RequestId。
data:OpenAPI 報錯後服務端返回的詳細資料。
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)