Code
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les codes d'erreur canoniques pour les API de gRPC.
Parfois, plusieurs codes d'erreur peuvent s'appliquer. Les services doivent renvoyer le code d'erreur le plus spécifique qui s'applique. Par exemple, préférez OUT_OF_RANGE
à FAILED_PRECONDITION
si les deux codes s'appliquent. De même, préférez NOT_FOUND
ou ALREADY_EXISTS
à FAILED_PRECONDITION
.
Enums |
OK |
Il ne s'agit pas d'une erreur. Ce code est affiché en cas de réussite. Mise en correspondance HTTP : 200 OK |
CANCELLED |
L'opération a été annulée, généralement par l'appelant. Mise en correspondance HTTP : 499 Le client a fermé la requête |
UNKNOWN |
Erreur inconnue. Par exemple, cette erreur peut s'afficher lorsqu'une valeur Status reçue d'un autre espace d'adressage appartient à un espace d'erreur inconnu dans cet espace d'adressage. De plus, les erreurs des API qui ne renvoient pas suffisamment d'informations relatives aux erreurs peuvent être converties dans cette erreur. Mise en correspondance HTTP : 500 Erreur de serveur interne |
INVALID_ARGUMENT |
Le client a spécifié un argument non valide. Notez que cette erreur diffère de FAILED_PRECONDITION . INVALID_ARGUMENT indique les arguments problématiques quel que soit l'état du système (par exemple, un nom de fichier incorrect). Mise en correspondance HTTP : 400 Requête incorrecte |
DEADLINE_EXCEEDED |
Le délai a expiré avant que l'opération puisse se terminer. Pour les opérations qui modifient l'état du système, cette erreur peut être affichée même si l'opération s'est terminée avec succès. Par exemple, une réponse réussie d'un serveur aurait pu être retardée suffisamment longtemps pour que le délai expire. Mappage HTTP : 504 Passerelle hors délai |
NOT_FOUND |
Une entité demandée (fichier ou répertoire, par exemple) est introuvable. Remarque pour les développeurs de serveurs : NOT_FOUND peut être utilisé si une requête est refusée pour toute une classe d'utilisateurs, telle que le déploiement progressif des fonctionnalités ou la liste d'autorisation non documentée. Si une requête est refusée pour certains utilisateurs appartenant à une classe d'utilisateurs, telle que le contrôle des accès basé sur l'utilisateur, PERMISSION_DENIED doit être utilisé. Mise en correspondance HTTP : 404 Page introuvable |
ALREADY_EXISTS |
L'entité qu'un client a tenté de créer (par exemple, un fichier ou un répertoire) existe déjà. Mise en correspondance HTTP : 409 Conflit |
PERMISSION_DENIED |
L'appelant n'a pas l'autorisation d'exécuter l'opération spécifiée. PERMISSION_DENIED ne doit pas être utilisé pour les rejets causés par l'épuisement d'une ressource (utilisez plutôt RESOURCE_EXHAUSTED pour ces erreurs). PERMISSION_DENIED ne doit pas être utilisé si l'appelant ne peut pas être identifié (utilisez plutôt UNAUTHENTICATED pour ces erreurs). Ce code d'erreur n'implique pas que la requête soit valide ni que l'entité demandée existe ou qu'elle répond à d'autres pré-requis. Mise en correspondance HTTP : 403 Accès interdit |
UNAUTHENTICATED |
La requête ne dispose pas d'identifiants d'authentification valides pour l'opération. Mise en correspondance HTTP : 401 Accès non autorisé |
RESOURCE_EXHAUSTED |
Certaines ressources ont été épuisées ; par exemple, un quota par utilisateur a été atteint ou le système de fichiers dans son intégralité manque d'espace. Mise en correspondance HTTP : 429 Requêtes trop nombreuses |
FAILED_PRECONDITION |
L'opération a été rejetée car le système n'est pas dans un état requis pour exécuter l'opération. Par exemple, le répertoire à supprimer n'est pas vide, une opération rmdir est appliquée à un emplacement qui n'est pas un répertoire, etc. Les développeurs de services peuvent suivre les instructions suivantes pour choisir entre FAILED_PRECONDITION , ABORTED et UNAVAILABLE : (a) Utilisez UNAVAILABLE si le client ne peut relancer que l'appel ayant échoué. (b) Utilisez ABORTED si le client doit réessayer à un niveau supérieur. Par exemple, en cas d'échec d'un test and set défini par le client, indiquant au client de redémarrer une séquence lecture-modification-écriture. (c) Utilisez FAILED_PRECONDITION si le client ne doit pas effectuer de nouvelle tentative tant que l'état du système n'a pas été explicitement corrigé. Par exemple, si la commande "rmdir" échoue parce que le répertoire n'est pas vide, FAILED_PRECONDITION doit être renvoyé, car le client ne doit pas réessayer, sauf si les fichiers sont supprimés du répertoire. Mise en correspondance HTTP : 400 Requête incorrecte |
ABORTED |
L'opération a été abandonnée, généralement en raison d'un problème de simultanéité, tel qu'un échec de vérification du séquenceur ou un abandon de transaction. Consultez les instructions ci-dessus pour choisir entre FAILED_PRECONDITION , ABORTED et UNAVAILABLE . Mise en correspondance HTTP : 409 Conflit |
OUT_OF_RANGE |
L'opération a été tentée au-delà de la plage valide. Par exemple, rechercher ou lire après la fin du fichier. Contrairement à INVALID_ARGUMENT , cette erreur indique un problème pouvant être résolu si l'état du système change. Par exemple, un système de fichiers 32 bits génère INVALID_ARGUMENT s'il est invité à lire avec un décalage qui n'est pas compris dans la plage [0,2^32-1], mais génère OUT_OF_RANGE s'il est invité à lire avec un décalage qui dépasse la taille du fichier actuel. Il existe un certain chevauchement entre FAILED_PRECONDITION et OUT_OF_RANGE . Nous vous recommandons d'utiliser OUT_OF_RANGE (erreur plus spécifique) pour que les appelants qui effectuent des itérations dans un espace puissent facilement rechercher une erreur OUT_OF_RANGE afin de détecter quand ils ont terminé. Mise en correspondance HTTP : 400 Requête incorrecte |
UNIMPLEMENTED |
L'opération n'est pas implémentée ou n'est pas prise en charge/activée dans ce service. Mise en correspondance HTTP : 501 Non implémenté |
INTERNAL |
Erreurs internes. Cela signifie que certains invariants attendus par le système sous-jacent n'ont pas été respectés. Ce code d'erreur est réservé aux erreurs graves. Mise en correspondance HTTP : 500 Erreur de serveur interne |
UNAVAILABLE |
Le service est actuellement indisponible. Il s'agit probablement d'une condition temporaire qui peut être corrigée en réessayant après avoir laissé passer un intervalle entre les tentatives. Notez qu'il n'est pas toujours sûr de relancer des opérations non idempotentes. Consultez les instructions ci-dessus pour choisir entre FAILED_PRECONDITION , ABORTED et UNAVAILABLE . Mise en correspondance HTTP : 503 Service non disponible |
DATA_LOSS |
Perte ou corruption de données irrécupérable. Mise en correspondance HTTP : 500 Erreur de serveur interne |
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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,[]]