Troubleshooting

Last updated: 2022-01-04 12:17:05

    Overview

    An API returns a CosResult structure. If the request succeeds, the data in the corresponding response structure can be obtained. If it fails, the error details can be obtained in CosResult.

    Server Exceptions

    CosResult encapsulates the error code and corresponding error message returned when a request fails. For more information, see Error Codes.

    Note:

    A CosResult object will be returned for all requests encapsulated in the SDK. After each call is completed, the IsSucc() member function will be used to determine whether the call succeeds.

    Member Functions

    Function Description
    bool isSucc() Indicates whether a request succeeds or fails
    If `false` is returned, subsequent CosResult member functions are meaningful.
    If `true` is returned, the specific returned content can be obtained in OperatorResp.
    string GetErrorCode() Gets the error code returned by COS to determine the error details.
    string GetErrorMsg() Contains the specific error message.
    string GetResourceAddr() Resource (bucket or object) address
    string GetXCosRequestId() When a request is sent, the server will automatically generate a unique ID (`request-id`) for it, which can help locate problems faster.
    string GetXCosTraceId() When an error occurs in a request, the server will automatically generate a unique ID (`trace-id`) for the error which corresponds to `request-id` and can help locate problems faster.
    string GetErrorInfo() Gets the SDK internal error message.
    int GetHttpStatus() Gets the HTTP status code.

    Base classes of requests and responses

    BaseReq and BaseResp encapsulate the request and response respectively. You only need to generate and populate different OperatorReqs for different operation types.
    After the function returns, call the member function of the corresponding BaseResp to get the request result.

    • For a request, if there are no special notes, you only need to pay attention to the constructor of the request.
    • For a response, the responses of all methods have member functions that get the common response headers as shown below. For the meanings of specific fields, see Common Response Headers.
    uint64_t GetContentLength();
    std::string GetContentType();
    std::string GetEtag();
    std::string GetConnection();
    std::string GetDate();
    std::string GetServer();
    std::string GetXCosRequestId(); // Get `RequestId` (request ID)
    std::string GetXCosTraceId();
    

    Using the Diagnosis Tool

    COS provides a self-help diagnosis tool to help you quickly locate request problems and debug code.

    Directions

    1. Copy the request ID (RequestId) returned when the request error occurs.
    2. Click Diagnosis Tool.
      Diagnosis Tool
      Click to start diagnosis
      Enter `RequestId` for intelligent diagnosis and obtain basic request information, directions, and diagnosis information to quickly locate request errors.
    3. Enter RequestId and click Diagnose.
    4. Wait and view the diagnostic result.