Code
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Códigos de erros canônicos para APIs gRPC.
Às vezes, vários códigos de erros podem ser aplicados. Os serviços retornam o código do erro mais específico aplicável. Por exemplo, dê preferência a OUT_OF_RANGE
em vez de FAILED_PRECONDITION
, se ambos os códigos se aplicarem. Da mesma maneira, dê preferência a NOT_FOUND
ou ALREADY_EXISTS
em vez de FAILED_PRECONDITION
.
Enums |
OK |
Não é um erro. Retornado quando bem-sucedido. Mapeamento HTTP: 200 OK |
CANCELLED |
A operação foi cancelada, geralmente pelo chamador Mapeamento HTTP: 499 Solicitação fechada pelo cliente |
UNKNOWN |
Erro desconhecido. Por exemplo, esse erro pode ser retornado quando um valor Status recebido de outro espaço de endereço pertence a um espaço de erro desconhecido nesse espaço de endereço. Além disso, os erros gerados por APIs que não retornam informações de erro suficientes podem ser convertidos neste erro. Mapeamento HTTP: 500 Erro interno do servidor |
INVALID_ARGUMENT |
O cliente especificou um argumento inválido. Observe que isso é diferente de FAILED_PRECONDITION . INVALID_ARGUMENT indica argumentos problemáticos, independentemente do estado do sistema. Por exemplo, um nome de arquivo incorreto. Mapeamento HTTP: 400 Solicitação inválida |
DEADLINE_EXCEEDED |
O prazo expirou antes do término da operação. Para operações que alteram o estado do sistema, este erro pode ser retornado mesmo que a operação tenha sido concluída com sucesso. Por exemplo, uma resposta bem-sucedida de um servidor pode ter atrasado tempo suficiente para que o prazo expirasse. Mapeamento HTTP: 504 Tempo limite do gateway |
NOT_FOUND |
Alguma entidade solicitada não foi encontrada. Por exemplo, arquivo ou diretório. Observação para desenvolvedores de servidor: se uma solicitação for negada para uma classe inteira de usuários, como a implementação gradual de recursos ou a lista de permissões não documentada de permissões, NOT_FOUND poderá ser usado. Se uma solicitação for negada para alguns usuários de uma classe, como o controle de acesso baseado em usuário, PERMISSION_DENIED precisará ser usado. Mapeamento HTTP: 404 Não encontrado |
ALREADY_EXISTS |
A entidade que um cliente tentou criar já existe. Por exemplo, arquivo ou diretório. Mapeamento HTTP: 409 Conflito |
PERMISSION_DENIED |
O autor da chamada não tem permissão para executar a operação especificada. PERMISSION_DENIED não pode ser usado para rejeições causadas pelo esgotamento de algum recurso. Em vez dele, use RESOURCE_EXHAUSTED para esses erros. PERMISSION_DENIED não poderá ser usado se o autor da chamada não for identificado. Em vez dele, use UNAUTHENTICATED para esses erros. Esse código do erro não indica que a solicitação seja válida nem que a entidade solicitada exista ou satisfaça outras condições prévias. Mapeamento HTTP: 403 Proibido |
UNAUTHENTICATED |
A solicitação não tem credenciais válidas de autenticação para a operação. Mapeamento HTTP: 401 Não autorizado |
RESOURCE_EXHAUSTED |
Houve o esgotamento de algum recurso, como uma cota por usuário. Também é possível que todo sistema de arquivos esteja sem espaço. Mapeamento HTTP: 429 Há muitas solicitações |
FAILED_PRECONDITION |
A operação foi rejeitada porque o estado do sistema não é o necessário para a execução dela. Por exemplo, o diretório a ser excluído não está vazio, uma operação "rmdir" foi aplicada a um elemento que não é um diretório etc. Os implementadores de serviços podem usar as diretrizes a seguir para decidir entre FAILED_PRECONDITION , ABORTED e UNAVAILABLE : (a) usar UNAVAILABLE se o cliente puder repetir apenas a chamada com falha. (b) Use ABORTED se o cliente tentar novamente em um nível superior. Por exemplo, quando um teste e um conjunto especificados pelo cliente falham, indicando que o cliente deve reiniciar uma sequência de leitura/modificação/gravação. (c) Use FAILED_PRECONDITION se o cliente não tentar novamente até que o estado do sistema seja explicitamente corrigido. Por exemplo, se um "rmdir" falhar porque o diretório não está vazio, FAILED_PRECONDITION será retornado, porque o cliente não poderá tentar novamente, a menos que os arquivos sejam excluídos do diretório. Mapeamento HTTP: 400 Solicitação inválida |
ABORTED |
A operação foi cancelada. Isso ocorre normalmente devido a um problema de simultaneidade, como falha na verificação do sequenciador ou cancelamento da transação. Consulte as diretrizes acima para decidir entre FAILED_PRECONDITION , ABORTED e UNAVAILABLE . Mapeamento HTTP: 409 Conflito |
OUT_OF_RANGE |
Houve uma tentativa da operação depois do intervalo válido. Por exemplo, busca ou leitura após o fim do arquivo. Diferentemente de INVALID_ARGUMENT , este erro indica um problema que poderá ser corrigido se o estado do sistema mudar. Por exemplo, um sistema de arquivos de 32 bits gerará INVALID_ARGUMENT se for solicitado a ler em um deslocamento fora do intervalo [0,2^32-1], mas gerará OUT_OF_RANGE se for solicitado a ler um deslocamento que ultrapasse o tamanho do arquivo atual. Há alguma sobreposição entre FAILED_PRECONDITION e OUT_OF_RANGE . Recomendamos o uso de OUT_OF_RANGE (o erro mais específico) quando aplicável para que os autores da chamada que estão iterando por meio de um espaço possam procurar facilmente um erro OUT_OF_RANGE para detectar quando terminarem. Mapeamento HTTP: 400 Solicitação inválida |
UNIMPLEMENTED |
A operação não foi implementada ou não é compatível nem está ativada neste serviço. Mapeamento HTTP: 501 Não implementado |
INTERNAL |
Erros internos. Significa que algumas invariantes esperadas pelo sistema subjacente foram corrompidas. Este código do erro é reservado para erros graves. Mapeamento HTTP: 500 Erro interno do servidor |
UNAVAILABLE |
Atualmente, o serviço não está disponível. Muito provavelmente, trata-se de uma condição temporária, que pode ser corrigida ao tentar novamente com uma retirada. Nem sempre é seguro repetir operações não idempotentes. Consulte as diretrizes acima para decidir entre FAILED_PRECONDITION , ABORTED e UNAVAILABLE . Mapeamento HTTP: 503 Serviço indisponível |
DATA_LOSS |
Perda ou corrupção irrecuperável de dados. Mapeamento HTTP: 500 Erro interno do servidor |
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-07-25 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-25 UTC."],[[["\u003cp\u003eThis documentation outlines the canonical error codes for gRPC APIs, providing a standardized way to handle and interpret errors across different services.\u003c/p\u003e\n"],["\u003cp\u003eEach error code has a specific meaning and an associated HTTP mapping for easier integration with existing web infrastructure.\u003c/p\u003e\n"],["\u003cp\u003eServices should prioritize returning the most specific error code applicable to a given situation, aiding in accurate diagnosis and troubleshooting.\u003c/p\u003e\n"],["\u003cp\u003eThe error codes cover a wide range of scenarios, including client errors, server errors, and resource constraints, ensuring comprehensive error handling.\u003c/p\u003e\n"],["\u003cp\u003eWhile some errors may be transient and recoverable through retries, others indicate more serious issues requiring system-level intervention.\u003c/p\u003e\n"]]],["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"],null,[]]