文档

异常处理

更新时间:
一键部署

本节主要介绍升级版 SDK 的异常种类以及对于异常的处理。

新版SDK异常

新版 SDK 将异常的种类进行了一定的细分,主要细分为以下几个 Exception:

  1. ValidateException: 该异常会在用户没有填写 OpenAPI 必填参数或是填写的参数类型不匹配的情况下抛出,可通过查看异常的 message 来定位错误信息。

  2. UnretryableException:该异常主要是因为网络问题造成,一般是网络问题造成达到最大重试次数后抛出。

  3. TeaException: 在 SDK 的请求中主要以业务报错为主的异常,该异常的示例中提供了三个参数为用户排查问题提供帮助:

code: OpenAPI 业务报错的错误码。

message:OpenAPI 业务报错的错误信息,其中会包含本次请求的 RequestId。

data:OpenAPI 报错后服务端返回的详细信息。

  1. from Tea.exceptions import UnretryableException, TeaRequest
    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='<ACCESS-KEY-ID>',
        access_key_secret='<ACCESS-KEY-SECRET>',
        region_id='cn-hangzhou'
    )
    client = Client(config)
    # 初始化Request
    request = DescribeImagesRequest(image_id='<image-id>')
    try:
        response = client.describe_images(request)
    except UnretryableException as e:
        # 网络异常
        print(e)
    except TeaException as e:
        # 业务异常
        print(e)
    except Exception as e:
        # 其他异常
        print(e)

  • 本页导读 (1)
文档反馈