Обработка ошибок


Ошибки будут приходить с http_code >= 400, поэтому рекомендуется делать десериализацию json и проверку ошибок именно с таким кодом ответа.

Пример ошибки

{
  /* gRPC код ошибки. Ниже подробное описание */
  "code": 3, 

  "details": [
    /* Детали ошибки. Могут не приходить */
    {
      /* По этому @type можно уточнять ошибку в коде программы */
      "@type": "type.googleapis.com/io.devision.rpc.ServiceError",
      "kind": "ResourceAccessError",
      "reason": "ENTITY_NOT_FOUND"
    }
  ],

  /* Текст ошибки (может менятся со временем) */
  "message": "Entity not found. Alias=unknown_entity"
}

Описание code

Ошибки всегда будут соответствовать этому документу https://cloud.google.com/inference/reference/rest/v1/Code?hl=ru

Ошибка Описание HTTP Mapping Code
OK Не ошибка, запрос успешно выполнился HTTP Mapping: 200 OK 0
CANCELLED Операция была отменена HTTP Mapping: 499 Client Closed Request 1
NOT_FOUND Не найдено. HTTP Mapping: 404 Not Found 5
INVALID_ARGUMENT Вы передали неправильный параметр. HTTP Mapping: 400 Bad Request 3
DEADLINE_EXCEEDED Не удалось выполнить операцию за разумное время HTTP Mapping: 504 Gateway Timeout 4
PERMISSION_DENIED У вас нет прав на выполнение операции HTTP Mapping: 403 Forbidden 7
FAILED_PRECONDITION Операция была отклонена, поскольку система не находится в состоянии, необходимом для выполнения операции. Например, удаляемый каталог не является пустым, бюджет аккаунта находится в неверном состоянии HTTP Mapping: 400 Bad Request 9
INTERNAL Ошибка возникла на уровне нашей системы. Обратитесь в тех.поддержку. HTTP Mapping: 500 Internal Server Error 13