状态响应代码
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
gRPC 响应可返回以下状态代码。本网站上的所有 gRPC 版本均适用。
代码 |
状态 |
备注 |
0 |
OK |
将于 Success 返回 |
1 |
CANCELLED |
操作已取消(通常是被调用者取消)。 |
2 |
UNKNOWN |
例如,当来自其他地址空间的“状态”值属于此地址空间中未知的错误空间时,便会返回该错误。另外,因 API 没有返回足够错误信息而引发的错误也可能会转换为此错误。 |
3 |
INVALID_ARGUMENT |
客户端指定的参数无效。 |
4 |
DEADLINE_EXCEEDED |
在操作完成之前截止期限已过。对于更改系统状态的操作,即使操作已成功完成,也可能会返回此错误。例如,服务器的成功响应延迟时间过长,截止期限已过。 |
5 |
NOT_FOUND |
找不到某个请求的实体。 |
6 |
ALREADY_EXISTS |
客户端尝试创建的实体已存在。 |
7 |
PERMISSION_DENIED |
调用方无权执行指定的操作。如果遭拒的原因是由于部分资源已用尽,请勿使用 PERMISSION_DENIED ;请改用 RESOURCE_EXHAUSTED 来表示此类错误。如果无法识别调用方,请勿使用 PERMISSION_DENIED (请改用 UNAUTHENTICATED 来表示此类错误)。收到 PERMISSION_DENIED 错误代码并不意味着请求有效,或者请求的实体存在或满足其他先决条件。 |
8 |
RESOURCE_EXHAUSTED |
部分资源已用尽,可能是每用户配额不足,也可能是整个文件系统的存储空间已用完。 |
9 |
FAILED_PRECONDITION |
操作被拒绝,因为系统未处于执行该操作所需的状态。 例如,要删除的目录非空,或者 rmdir 操作应用于非目录。 |
10 |
ABORTED |
操作已中止,通常是由于序列程序检查失败或事务中止等并发问题。 |
11 |
OUT_OF_RANGE |
尝试执行的操作已超出有效范围。 |
12 |
UNIMPLEMENTED |
操作在此服务中未实现或不受支持/未启用。 |
13 |
INTERNAL |
内部错误。这意味着底层系统所期望的一些不变量已损坏。此错误代码仅用于严重错误。 |
14 |
UNAVAILABLE |
该服务目前不可用。这很可能是一种暂时情况,可以通过退避重试来纠正。 |
15 |
DATA_LOSS |
数据丢失或损坏且不可恢复。 |
16 |
UNAUTHENTICATED |
请求没有相应操作的有效身份验证凭据。 |
有时可能适用多个错误代码。服务应返回适用且最具体的错误代码。例如,如果 OUT_OF_RANGE
和 FAILED_PRECONDITION
这两个代码都适用,则前者优先于后者。同样,NOT_FOUND
或 ALREADY_EXISTS
优先于 FAILED_PRECONDITION
。
FAILED_PRECONDITION、ABORTED 与 UNAVAILABLE
以下是可帮助您在 FAILED_PRECONDITION
、ABORTED
和 UNAVAILABLE
之间做出决策的石蕊测试:
- 如果客户端只能重试失败的调用,请使用
UNAVAILABLE
。
- 如果客户端应在更高级别重试(例如,当指定的客户端测试和设置失败时,则表示客户端应重启“读取-修改-写入”序列),请使用
ABORTED
。
- 如果客户端不得在系统状态明确修正前执行重试,则使用
FAILED_PRECONDITION
。例如,如果因非空目录而导致“rmdir”失败,最好返回 FAILED_PRECONDITION
,因为客户端只能在目录中的文件删除之后执行重试。
INVALID_ARGUMENT、FAILED_PRECONDITION 与 OUT_OF_RANGE
以下是石蕊测试,有助于您确定首选 INVALID_ARGUMENT
、FAILED_PRECONDITION
还是 OUT_OF_RANGE
:
- 如果无论系统处于何种状态,参数都存在问题,请使用
INVALID_ARGUMENT
。例如:网址格式不正确
- 如果值因系统状态而超出范围,请使用
OUT_OF_RANGE
。例如,start_date 早于 start_date_restrict
。
- 如果值因系统状态而无效,但该值并非
OUT_OF_RANGE
值,请使用 FAILED_PRECONDITION
。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003egRPC responses utilize status codes to indicate the outcome of a request, ranging from success (\u003ccode\u003eOK\u003c/code\u003e) to various error conditions.\u003c/p\u003e\n"],["\u003cp\u003eThese status codes provide specific details about the issue encountered, such as \u003ccode\u003eINVALID_ARGUMENT\u003c/code\u003e for incorrect input or \u003ccode\u003eNOT_FOUND\u003c/code\u003e for missing resources.\u003c/p\u003e\n"],["\u003cp\u003eGuidelines are provided for selecting the most appropriate error code when multiple options apply, emphasizing the need for specificity.\u003c/p\u003e\n"],["\u003cp\u003eDistinctions between similar error codes like \u003ccode\u003eFAILED_PRECONDITION\u003c/code\u003e, \u003ccode\u003eABORTED\u003c/code\u003e, and \u003ccode\u003eUNAVAILABLE\u003c/code\u003e are clarified using real-world scenarios.\u003c/p\u003e\n"],["\u003cp\u003eSimilar guidance is offered to differentiate between \u003ccode\u003eINVALID_ARGUMENT\u003c/code\u003e, \u003ccode\u003eFAILED_PRECONDITION\u003c/code\u003e, and \u003ccode\u003eOUT_OF_RANGE\u003c/code\u003e based on system state and input validity.\u003c/p\u003e\n"]]],["gRPC responses use various status codes to indicate operation outcomes. `OK` (0) signals success. Errors include: `CANCELLED` (1), `UNKNOWN` (2), `INVALID_ARGUMENT` (3), `DEADLINE_EXCEEDED` (4), `NOT_FOUND` (5), `ALREADY_EXISTS` (6), `PERMISSION_DENIED` (7), `RESOURCE_EXHAUSTED` (8), `FAILED_PRECONDITION` (9), `ABORTED` (10), `OUT_OF_RANGE` (11), `UNIMPLEMENTED` (12), `INTERNAL` (13), `UNAVAILABLE` (14), `DATA_LOSS` (15), and `UNAUTHENTICATED` (16). The most specific code should be returned. `UNAVAILABLE` implies retry; `ABORTED` suggests a higher-level retry; `FAILED_PRECONDITION` requires system correction before retry.\n"],null,[]]