tencent cloud

文档反馈

异常处理

最后更新时间:2022-01-05 14:31:57

    简介

    COS XML Python SDK 操作成功会返回一个 dict 或者 None。若调用 SDK 接口请求 COS 服务失败,系统将抛出 CosClientError(客户端异常)或者 CosServiceError (服务端异常)。

    • CosClientError 是由于客户端无法和 COS 服务端正常进行交互所引起。如客户端无法连接到服务端,无法解析服务端返回的数据,读取本地文件发生 IO 异常等。
    • CosServiceError 是客户端和 COS 服务端交互正常,但操作 COS 资源失败。如客户端访问一个不存在的存储桶,删除一个不存在的对象,没有权限进行某个操作等。

    客户端异常

    CosClientError 一般指如 timeout 引起的客户端错误,用户捕获后可以选择重试或其它操作。

    服务端异常

    CosServiceError 提供服务端返回的具体信息,包含了服务端返回的状态码、requestid 和出错明细等。捕获异常后,建议对整个异常进行打印,异常包含了必须的排查因素。以下是异常成员变量的描述以及异常捕获示例。

    成员 描述 类型
    request_id 请求 ID,用于唯一标识一个请求,对于排查问题十分重要 string
    status_code response 的 status 状态码,更多详情请参见 COS 错误码 string
    error_code 请求失败时 body 返回的 Error Code,更多详情请参见 COS 错误码 string
    error_msg 请求失败时 body 返回的 Error Message,更多详情请参见 COS 错误码 string

    异常捕获示例

    from qcloud_cos import CosServiceError
    except CosServiceError as e:
      e.get_origin_msg()  # 获取原始错误信息,格式为XML
      e.get_digest_msg()  # 获取处理过的错误信息,格式为dict
      e.get_status_code() # 获取 http 错误码(如4XX,5XX)
      e.get_error_code()  # 获取 COS 定义的错误码
      e.get_error_msg()   # 获取 COS 错误码的具体描述
      e.get_trace_id()    # 获取请求的 trace_id
      e.get_request_id()  # 获取请求的 request_id
      e.get_resource_location() # 获取 URL 地址
    

    使用自助诊断工具

    针对请求可能遇到不同的报错情况,我们为您提供了 COS 自助诊断工具,帮助您快速定位问题,调试报错代码。

    使用步骤

    1. 复制异常处理返回的 RequestId(请求 ID)。
    2. 单击 COS 自助诊断工具,进入自助诊断页面。
      COS 自助诊断工具
      点击自助诊断
      输入 RequestId 进行智能诊断,获取请求基本信息、帮助指引和诊断提示,快速定位请求错误。
    3. 在顶部的 RequestId 输入框中,输入待诊断的 RequestId,并单击开始诊断
    4. 稍侯片刻,便能看到相应的智能诊断结果。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持