ErrorCode 枚举(Native (C ABI) IMLib)
错误码枚举:共 43 个取值,定义来自 errors.json → codes(33 个)。
基本信息
| 项 | 值 |
|---|---|
| 枚举 | ErrorCode |
| 取值数 | 43 |
| 本平台常量名 | int(数值常量) |
| IDL 来源 | errors.json → codes(33 个) |
| 跨端一致性 | 取值跨端一致;常量名与成员名按平台绑定 |
| 平台状态 | 已交付 |
C ABI 取值
C ABI 以数值常量表达枚举;头文件 include/im_sdk.h 中提供对应宏定义。
枚举常量摘要
| 名称 | 数值 | HTTP 状态 | 可重试 | 说明 |
|---|---|---|---|---|
INVALID_PARAMETER | 1001 | 400 | 否 | 参数错误 |
INVALID_TOKEN | 1002 | 401 | 否 | Token 无效或已过期 |
FORBIDDEN | 1003 | 403 | 否 | 无权限 |
USER_NOT_FOUND | 1004 | 404 | 否 | 用户不存在 |
GROUP_NOT_FOUND | 1005 | 404 | 否 | 群组不存在 |
NOT_GROUP_MEMBER | 1006 | 403 | 否 | 未加入群组 |
MESSAGE_TOO_LARGE | 1007 | 400 | 否 | 消息体过大(上限 5KB) |
RATE_LIMITED | 1008 | 429 | 是 | 发送过于频繁 |
GROUP_MUTED | 1009 | 403 | 否 | 你已被禁言 |
SENSITIVE_WORD | 1010 | 400 | 否 | 内容包含敏感词 |
BLOCKED | 1011 | 403 | 否 | 已被对方拉黑或你已拉黑对方 |
CHATROOM_NOT_FOUND | 1012 | 404 | 否 | 聊天室不存在 |
CHATROOM_CLOSED | 1013 | 410 | 否 | 聊天室已销毁 |
NOT_CHATROOM_MEMBER | 1014 | 403 | 否 | 未加入聊天室 |
MEMBERSHIP_LIMIT | 1015 | 400 | 否 | 成员数量超出上限 |
USER_BANNED | 1016 | 403 | 否 | 账号已被封禁 |
APP_DISABLED | 1017 | 403 | 否 | 应用已停用 |
INVALID_SIGNATURE | 1018 | 401 | 否 | 签名错误 |
TIMESTAMP_EXPIRED | 1019 | 401 | 否 | 时间戳超出允许窗口 |
NONCE_REPLAYED | 1020 | 401 | 否 | Nonce 重复 |
SERVICE_NOT_ACTIVATED | 1021 | 403 | 否 | 服务未开通 |
RECALL_EXPIRED | 1022 | 400 | 否 | 超过撤回时限 |
MESSAGE_ALREADY_RECALLED | 1023 | 400 | 否 | 消息已撤回 |
CALLBACK_INVALID | 1024 | 400 | 否 | 回调配置无效 |
QUOTA_EXCEEDED | 1025 | 429 | 是 | 超出配额 |
MESSAGE_NOT_EXPANDABLE | 1026 | 400 | 否 | 消息不可扩展(发送时未开启可扩展,或会话类型不支持) |
EXPANSION_LIMIT_EXCEEDED | 1027 | 400 | 否 | 消息扩展超出限制(单次 20 对 / 单条 300 对 / 键值长度) |
REACTION_INVALID | 1028 | 400 | 否 | 回应标识非法(1-16 字符) |
REACTION_LIMIT_EXCEEDED | 1029 | 400 | 否 | 单条消息回应种类超出上限(50) |
REACTION_USER_LIMIT_EXCEEDED | 1030 | 400 | 否 | 单个回应参与用户超出上限(100) |
TAG_LIMIT_EXCEEDED | 1031 | 400 | 否 | 单用户会话标签数超过上限(20) |
TAG_NOT_FOUND | 1032 | 404 | 否 | 标签不存在 |
TAG_CONVERSATION_LIMIT_EXCEEDED | 1033 | 400 | 否 | 标签内会话数超过上限(1000) |
CONVERSATION_NOT_FOUND | 1034 | 404 | 否 | 会话不存在(标签内置顶等操作要求会话已在标签内) |
MESSAGE_REJECTED_BY_CALLBACK | 1035 | 403 | 否 | 发送前同步回调拒绝该消息(应用服务器返回 action=block,或降级配置为 block) |
INTERNAL_ERROR | 2001 | 500 | 是 | 服务端内部错误 |
DEPENDENCY_UNAVAILABLE | 2002 | 503 | 是 | 依赖服务不可用 |
STORAGE_ERROR | 2003 | 500 | 是 | 存储错误 |
CALLBACK_DELIVERY_FAILED | 2004 | 502 | 是 | 回调投递失败 |
SDK_NOT_CONNECTED | 3001 | — | 是 | 长连接未就绪 |
SDK_TIMEOUT | 3002 | — | 是 | 请求超时 |
SDK_NETWORK_ERROR | 3003 | — | 是 | 网络错误 |
SDK_UNSUPPORTED | 3004 | — | 否 | 当前平台不支持该能力 |
使用说明
所有失败结果的统一错误码:RcResult.code、回调错误对象与 Open API 响应 code 与之一致。
错误码分段
| 分段 | 含义 |
|---|---|
0 | 成功 |
1xxx | 客户端/参数/权限类错误(不可重试,除 1008) |
2xxx | 服务端/依赖类错误(可重试) |
3xxx | SDK 本地错误(不来自服务端) |
示例
C
int rc = 1001; /* INVALID_PARAMETER 参数错误 */
if (rc == 1002) {
/* INVALID_TOKEN:重新登录后 connect */
}