tencent cloud

文档反馈

异常处理

最后更新时间:2022-01-04 12:17:05

    简介

    SDK 调用失败时,结果信息包含在 API 返回的 cos_status_t 结构中。

    SDK 中使用每一个 API 的正确做法如下所示,为了简要,文档中范例不再给出具体异常的处理,仅给出 API 的使用范例。

    cos_status_t *s = NULL;
    s = cos_put_object_from_file(options, &bucket, &object, &file, &headers, &resp_headers);
    if (!s && !cos_status_is_ok(s)) {
    // 按需要进行异常场景的日志输出和处理
    cos_warn_log("failed to put object from file", buf);
    if (s->error_code) cos_warn_log("status->error_code: %s", s->error_code);
    if (s->error_msg) cos_warn_log("status->error_msg: %s", s->error_msg);
    if (s->req_id) cos_warn_log("status->req_id: %s", s->req_id);
    }
    

    客户端异常

    当 cos_status_t 结构中 code 成员值小于0时,表明发生 SDK 本地客户端错误,错误码信息参考枚举 cos_error_code_e 定义。

    typedef enum {
    COSE_OK = 0,
    COSE_OUT_MEMORY = -1000,
    COSE_OVER_MEMORY = -999,
    COSE_FAILED_CONNECT = -998,
    COSE_ABORT_CALLBACK = -997,
    COSE_INTERNAL_ERROR = -996,
    COSE_REQUEST_TIMEOUT = -995,
    COSE_INVALID_ARGUMENT = -994,
    COSE_INVALID_OPERATION = -993,
    COSE_CONNECTION_FAILED = -992,
    COSE_FAILED_INITIALIZE = -991,
    COSE_NAME_LOOKUP_ERROR = -990,
    COSE_FAILED_VERIFICATION = -989,
    COSE_WRITE_BODY_ERROR = -988,
    COSE_READ_BODY_ERROR = -987,
    COSE_SERVICE_ERROR = -986,
    COSE_OPEN_FILE_ERROR = -985,
    COSE_FILE_SEEK_ERROR = -984,
    COSE_FILE_INFO_ERROR = -983,
    COSE_FILE_READ_ERROR = -982,
    COSE_FILE_WRITE_ERROR = -981,
    COSE_XML_PARSE_ERROR = -980,
    COSE_UTF8_ENCODE_ERROR = -979,
    COSE_CRC_INCONSISTENT_ERROR = -978,
    COSE_FILE_FLUSH_ERROR = -977,
    COSE_FILE_TRUNC_ERROR = -976,
    COSE_UNKNOWN_ERROR = -100
    } cos_error_code_e;
    

    服务端异常

    当 cos_status_t 结构中 code 成员值大于0时,表明发生网络侧错误。

    以下是 cos_status_t 结构的描述:

    cos_status_t 成员 描述 类型
    code response 的 status 状态码, 4xx 是指请求因客户端而失败, 5xx 是服务端异常导致的失败,详情请参见 错误码 文档 Int
    error_code 请求失败时 body 返回的 Error Code,详情请参见 错误码 文档 String
    error_msg 请求失败时 body 返回的 Error Message,详情请参见 错误码 文档 String
    req_id 请求 ID,用于标识用户唯一请求 String

    使用自助诊断工具

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

    使用步骤

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

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

    技术支持

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

    7x24 电话支持