Code
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Канонические коды ошибок для API gRPC.
Иногда может применяться несколько кодов ошибок. Службы должны возвращать наиболее конкретный применимый код ошибки. Например, предпочтите OUT_OF_RANGE
вместо FAILED_PRECONDITION
, если применимы оба кода. Точно так же предпочтите NOT_FOUND
или ALREADY_EXISTS
вместо FAILED_PRECONDITION
.
перечисления |
---|
OK | Не ошибка; вернулся в случае успеха. Сопоставление HTTP: 200 ОК |
CANCELLED | Операция была отменена, как правило, вызывающим абонентом. Сопоставление HTTP: 499 Закрытый запрос клиента |
UNKNOWN | Неизвестная ошибка. Например, эта ошибка может возвращаться, когда значение Status , полученное из другого адресного пространства, принадлежит пространству ошибок, неизвестному в этом адресном пространстве. Также ошибки, вызванные API, которые не возвращают достаточно информации об ошибке, могут быть преобразованы в эту ошибку. Сопоставление HTTP: 500 Внутренняя ошибка сервера |
INVALID_ARGUMENT | Клиент указал недопустимый аргумент. Обратите внимание, что это отличается от FAILED_PRECONDITION . INVALID_ARGUMENT указывает аргументы, которые являются проблематичными независимо от состояния системы (например, неправильно сформированное имя файла). Сопоставление HTTP: 400 неверный запрос |
DEADLINE_EXCEEDED | Срок истек до завершения операции. Для операций, которые изменяют состояние системы, эта ошибка может возвращаться, даже если операция завершилась успешно. Например, успешный ответ от сервера мог быть отложен достаточно долго для истечения крайнего срока. Сопоставление HTTP: 504 Тайм-аут шлюза |
NOT_FOUND | Некоторый запрошенный объект (например, файл или каталог) не найден. Примечание для разработчиков серверов: если запрос отклонен для целого класса пользователей, например, для постепенного развертывания функций или недокументированного списка разрешений, может использоваться NOT_FOUND . Если запрос отклонен для некоторых пользователей в классе пользователей, например, для управления доступом на основе пользователей, необходимо использовать PERMISSION_DENIED . Сопоставление HTTP: 404 не найдено |
ALREADY_EXISTS | Сущность, которую пытался создать клиент (например, файл или каталог), уже существует. Сопоставление HTTP: конфликт 409 |
PERMISSION_DENIED | Вызывающий объект не имеет разрешения на выполнение указанной операции. PERMISSION_DENIED нельзя использовать для отклонений, вызванных исчерпанием какого-либо ресурса (вместо этого используйте RESOURCE_EXHAUSTED для таких ошибок). PERMISSION_DENIED нельзя использовать, если вызывающий абонент не может быть идентифицирован (вместо этого используйте UNAUTHENTICATED для таких ошибок). Этот код ошибки не означает, что запрос действителен или запрошенный объект существует или удовлетворяет другим предварительным условиям. Сопоставление HTTP: 403 Запрещено |
UNAUTHENTICATED | Запрос не содержит действительных учетных данных для операции. Сопоставление HTTP: 401 Неавторизованный |
RESOURCE_EXHAUSTED | Исчерпан какой-то ресурс, возможно, квота на пользователя, или, возможно, во всей файловой системе закончилось место. Отображение HTTP: 429 слишком много запросов |
FAILED_PRECONDITION | Операция отклонена, так как система не находится в состоянии, необходимом для выполнения операции. Например, удаляемый каталог не пуст, операция rmdir применяется к некаталогу и т. д. Разработчики службы могут использовать следующие рекомендации для выбора между FAILED_PRECONDITION , ABORTED и UNAVAILABLE : (a) Используйте UNAVAILABLE если клиент может повторить только неудачный вызов. (b) Используйте ABORTED если клиент должен повторить попытку на более высоком уровне. Например, при сбое указанного клиентом теста и установки это означает, что клиент должен перезапустить последовательность чтения-изменения-записи. (c) Используйте FAILED_PRECONDITION , если клиент не должен повторять попытку, пока состояние системы не будет явно исправлено. Например, если "rmdir" завершается ошибкой, потому что каталог не пуст, должно быть возвращено FAILED_PRECONDITION , поскольку клиент не должен повторять попытки, пока файлы не будут удалены из каталога. Сопоставление HTTP: 400 неверный запрос |
ABORTED | Операция была прервана, как правило, из-за проблемы параллелизма, такой как сбой проверки секвенсора или прерывание транзакции. См. рекомендации выше для выбора между FAILED_PRECONDITION , ABORTED и UNAVAILABLE . Сопоставление HTTP: конфликт 409 |
OUT_OF_RANGE | Операция была предпринята за допустимым диапазоном. Например, поиск или чтение после конца файла. В отличие от INVALID_ARGUMENT , эта ошибка указывает на проблему, которая может быть устранена при изменении состояния системы. Например, 32-разрядная файловая система сгенерирует INVALID_ARGUMENT , если ее попросят прочитать со смещения, не находящегося в диапазоне [0,2^32-1], но сгенерирует OUT_OF_RANGE , если попросят прочитать со смещения, следующего за текущим. размер файла. Между FAILED_PRECONDITION и OUT_OF_RANGE есть значительное совпадение. Мы рекомендуем использовать OUT_OF_RANGE (более конкретная ошибка), когда это применимо, чтобы вызывающие абоненты, выполняющие итерацию по пробелу, могли легко найти ошибку OUT_OF_RANGE , чтобы определить, когда они будут выполнены. Сопоставление HTTP: 400 неверный запрос |
UNIMPLEMENTED | Операция не реализована или не поддерживается/не включена в этой службе. Сопоставление HTTP: 501 не реализовано |
INTERNAL | Внутренние ошибки. Это означает, что некоторые инварианты, ожидаемые базовой системой, были нарушены. Этот код ошибки зарезервирован для серьезных ошибок. Сопоставление HTTP: 500 Внутренняя ошибка сервера |
UNAVAILABLE | В настоящее время услуга недоступна. Скорее всего, это временное состояние, которое можно исправить повторной попыткой с отсрочкой. Обратите внимание, что не всегда безопасно повторять неидемпотентные операции. См. рекомендации выше для выбора между FAILED_PRECONDITION , ABORTED и UNAVAILABLE . Сопоставление HTTP: 503 Служба недоступна |
DATA_LOSS | Невосстановимая потеря или повреждение данных. Сопоставление HTTP: 500 Внутренняя ошибка сервера |
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2024-11-08 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2024-11-08 UTC."],[[["This documentation outlines the canonical error codes for gRPC APIs, providing a standardized way to handle and interpret errors across different services."],["Each error code has a specific meaning and an associated HTTP mapping for easier integration with existing web infrastructure."],["Services should prioritize returning the most specific error code applicable to a given situation, aiding in accurate diagnosis and troubleshooting."],["The error codes cover a wide range of scenarios, including client errors, server errors, and resource constraints, ensuring comprehensive error handling."],["While some errors may be transient and recoverable through retries, others indicate more serious issues requiring system-level intervention."]]],["gRPC APIs use specific error codes to indicate the outcome of operations. Services should return the most relevant code when multiple codes apply. Codes include `OK` for success and various error types like `CANCELLED`, `UNKNOWN`, `INVALID_ARGUMENT`, `NOT_FOUND`, `PERMISSION_DENIED`, `RESOURCE_EXHAUSTED`, and `UNAVAILABLE`. Others, such as `FAILED_PRECONDITION`, `ABORTED`, and `OUT_OF_RANGE` are used for state-related issues. Each code also has a corresponding HTTP mapping for error communication.\n"]]