← 返回
未分类

bmob-error-codes

Use when the user sees a Bmob error response with a numeric code (e.g. 9015, 101, 105, 206, 211, 9013, 10017, 10076) and needs to know what it means and how to fix it. Triggers: 'bmob error code', 'bmob 报错', 'bmob 9015', 'Bmob 错误', 'object not found', 'invalid field name', 'unique index cannot has duplicate value', 'QPS beyond the limit', 'mobilePhoneNumber already taken'. Covers Android SDK codes (9001-9023), iOS SDK codes (100, 20000-20030), REST API HTTP 401/500/400 + business codes 100-601 +
Use when the user sees a Bmob error response with a numeric code (e.g. 9015, 101, 105, 206, 211, 9013, 10017, 10076) and needs to know what it means and how to fix it. Triggers: 'bmob error code', 'bmob 报错', 'bmob 9015', 'Bmob 错误', 'object not found', 'invalid field name', 'unique index cannot has duplicate value', 'QPS beyond the limit', 'mobilePhoneNumber already taken'. Covers Android SDK codes (9001-9023), iOS SDK codes (100, 20000-20030), REST API HTTP 401/500/400 + business codes 100-601 + 10001-10210. NOT for runtime debugging without an error code — for that read the platform skill (bmob-database-{javascript,android,ios,restful}) and check logs.
user_92a793e0
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 20
下载
💾 0
安装
1
版本
#latest

概述

Bmob 错误码字典

Bmob 的报错由三个独立编号空间组成:

  1. Android SDK 本地错误:9001–9023(在 SDK 客户端侧抛出,不会走网络)
  2. iOS SDK 本地错误:100、20000–20030(在 SDK 客户端侧抛出)
  3. REST API 服务端错误:HTTP 状态码 + 业务码(401 / 500 / 400 + body 里的 code 字段,所有 SDK 的网络错误本质都是这个)

> 关键诊断流程:拿到错误后先看是不是网络错误(看响应体里有没有 { "code": ..., "error": "..." }),如果是,按 REST API 错误码表查;如果没有响应体只有 SDK 抛出的本地 code(9xxx 或 2xxxx),按 SDK 本地表查。

1. Android SDK 本地错误码(9001–9023)

含义常见原因 / 修复
---------
9001Application Id 为空没调用 Bmob.initialize(context, "AppId");检查初始化时机是否在用 SDK 之前
9002解析返回数据出错服务端返回非预期 JSON;查看原始 HTTP 响应
9003上传文件出错文件路径、权限、网络任一问题
9004文件上传失败同 9003,常配合 9022
9005批量操作超过 50 条Bmob 单次批量上限 50;拆分多次调用
9006objectId 为空更新/删除/获取单条时没传 objectId
9007文件大小超过 10M单文件限制 10MB;大文件分片或迁到其它服务
9008上传文件不存在路径错误,或文件被异步删除
9009没有缓存数据启用了 CACHE_ONLY 策略但缓存为空
9010网络超时排查移动网络、服务端响应时间
9011BmobUser 类不支持批量操作用户表只支持单条注册/登录
9012上下文为空Bmob.initialize 传了 null context
9013表名格式不正确表名必须字母开头,仅含字母/数字/下划线
9014第三方账号授权失败第三方 OAuth 流程中断
9015其他错误(兜底码)关键:必须读响应体的 error 文本判断;详见下方"9015 专题"
9016无网络连接客户端网络不可用,跟 9010 不同
9017第三方登录错误看响应描述
9018参数不能为空必传字段空
9019格式不正确:手机号 / 邮箱 / 验证码客户端格式校验失败
9020保存 CDN 信息失败上传到 CDN 后写记录失败
9021文件上传缺少 WAKE_LOCK 权限AndroidManifest.xml
9022文件上传失败请重试通常是网络抖动
9023请调用 Bmob.initialize 初始化 SDK同 9001,但触发点不同

9015 专题

9015 是 Android SDK 的兜底错误码——所有未明确分类的异常都返回它。处理它必须看响应体的描述字段,不能只看 code。

特别警示:如果你在 Bmob SDK 的 success 回调里调用业务方法抛了异常,SDK 会把这个异常捕获并以 9015 形式触发 error 回调,造成"done 看似被调了两次"的错觉。修复方案是在业务方法里加 try/catch。

2. iOS SDK 本地错误码(100、20000–20030)

含义
------
100请求内容有误(查询条件错)
20000密码为空(登录/注册)
20001用户名为空
20002请求失败
20003缺 objectId(更新/删除/查询单条)
20004查询结果为空
20005缓存查询过期
20006云函数调用失败
20008上传文件 filename 为空
20009上传文件不存在
20010未知错误
20011上传文件内容为空
20012更新内容为空
20013云函数名为空
20014批量数组超界
20015批量数组为空
20016推送内容为空
20017初始化未完成
20023初始化失败
20024批量文件上传格式错误
20025表名为空
20027参数有错(一般是空字符串)
20028非法手机号
20029非法验证码
20030文件不存在(删除 / 获取 URL)

3. REST API 服务端错误码(任意端通过 HTTP 返回)

HTTP 401 / 500(无 body code)

{ "error": "unauthorized" }
HTTP常见含义
------
401Application Id / REST API Key / 加密授权签名有问题
500服务端临时故障,稍后重试

HTTP 400(带 body code)— 核心错误码

{ "code": 101, "error": "object not found for e1kXT22L" }

对象 / 查询 / Class(100–199)

code含义修复建议
---------
101object 不存在 / 用户名密码错误检查 objectId;登录失败时不区分用户名错 vs 密码错(安全设计)
102字段名/字段值无效 / GeoPoint 格式错字段名大小写敏感,必须字母开头
103缺 objectId 或 class 名非法class 名同字段命名规则
104关联 class 不存在创建 Pointer/Relation 前先建目标表
105字段名非法或是保留字段保留字段:objectId / createdAt / updatedAt / ACL
106Pointer 格式错必须是 {"__type":"Pointer","className":"X","objectId":"..."}
107JSON / 日期 / ACL / __op 格式错;Content-Type 错见对应错误描述
108username + password 必填(注册/登录)
109缺登录信息
110数据库迁移中,禁止 POST/PUT/DELETE等待迁移完成
111字段值与类型不匹配get_project_tables 拿 schema 比对
112requests 必须是数组批量接口入参
113requests 数组每项格式错{ "method": "POST", "path": "...", "body": {...} }
114requests 数组超过 50 项拆分
117纬度 / 经度越界lat ∈ [-90,90],lng ∈ [-180,180]
118缺必需参数错误描述里有参数名
120邮箱认证功能未开控制台 → 应用设置开启
121API 调用次数超套餐限制升级套餐或等待重置
122用户权限验证失败检查 ACL / Role 配置
125默认值 JSON 格式错

推送 / 设备(131–141)

code含义
------
131device token / installation ID / deviceType 无效
132device token 或 installation ID 已存在
136字段不可改 / Android 不需要 deviceToken
137客户端不允许在 installation 类执行某操作
138字段只读 / 此 App 禁止 SDK 删除
139角色名格式错 / 已存在
141推送数据缺失

时间 / 文件 / 图片(142–165)

code含义
------
142时间格式错(应为 2013-12-04 00:51:13
143必须是数字
144不能是过去时间
145–157文件大小 / 名 / URL / 权限 / 删除 等各种错误
160–165图片处理参数错(宽高边长等)

用户系统(201–211)

code含义
------
201缺必需用户字段
202username 已被使用
203email 已被使用
204必须提供 email
205未找到对应邮箱/用户名的用户
206无权限操作用户表 — 应用初始化时请传 MasterKey(仅服务端)
207验证码错误
208第三方授权数据错 / 已被其他用户关联
209mobilePhoneNumber 已被使用
210旧密码不正确
211用户未登录或登录已过期,需要重新登录

支付(232–236、10001–10006)

code含义
------
232支付服务不可用
233API 接口已停用
234无支付权限,联系 Bmob 工作人员
235获取支付权限失败
236请在应用配置中填写支付相关信息
10001支付参数缺失
10002order_no 不存在或不属于本应用
10003支付相关错误
10004盛付通支付错误
10005盛付通支付存储错误
10006需要专业版及以上套餐

云函数 / 钩子(310–324)

code含义
------
310调用云代码错误
311云代码名格式错
312缺云代码
313更新云代码错
314云代码不存在
315删除云代码错
316生成云代码文件错
317容器调用失败
318Redis 写入云代码错 / 获取配置失败
319获取云代码列表/详情失败
320解析云代码错
321代码含未支持的 JS 对象
322更新 Java 云代码失败
323删除 Java 云代码失败
324数据 Hook 错误
330推送服务需付费

其他

code含义
------
401唯一索引重复值create_table 时设了 unique:true 的字段写了已存在的值
402where 查询条件超字节限制
501用户被禁止访问
601BQL 语句错误

短信(10010–10022)

code含义
------
10010该手机号发送已达限制
10011SDK 短信已用完
10012实名 / 状态 / 截图审核相关
10013短信内容非法
10014短信内容含 URL
10015非法内容
10016deviceId 为空 / RESTful 短信已用完
10017设备发送短信达限
10018smsId 不存在
10019时间格式错(需 2006-01-02 15:04:05
10020时间必须距今 > 10 分钟 / 未找到应用
10021不允许自定义短信接口
10022短信模板不存在

应用管理(10030–10042)

code含义
------
10030应用名必填
10031创建应用失败
10032应用名超 30 字符
10034应用名必须是字符串
10035字段值不正确
10037创建应用达限
10038更新应用信息失败
10039应用名为空
10040不允许 SDK 创建/删除列
10041应用名不能以 _ 开头且 ≤ 20 字符
10042文件名不能含反斜杠

Schema 管理(10061–10075)

code含义
------
10061Master Key 错误
10062className 与路径不匹配
10063字段名是保留字
10064字段已存在
10065TargetClass 需要 className
10066TargetClass 不存在
10067保存表结构失败
10068保存字段失败
10069数据类型不存在
10070不支持的操作
10071字段不存在
10072删除字段失败
10073不允许修改用户表结构
10074删除表结构失败
10075唯一索引可能已存在

QPS / 配额(10076、10210)

code含义
------
10076QPS 超出限制 — 客户端请求频率过高,加限流
10200请求超时
10210应用半小时内超请求数限制

排查流程(推荐)

flowchart TD
    Start([拿到 Bmob 错误]) --> A{有 HTTP 响应体吗?}
    A -->|有 code + error| B[REST API 服务端错误码表]
    A -->|纯 SDK 本地抛出| C{Android or iOS?}
    C -->|Android| D[9001-9023 表]
    C -->|iOS| E[100, 20000-20030 表]
    B --> F[读 error 字段的描述]
    D --> F
    E --> F
    F --> G{描述里有变量 (%s, %d)?}
    G -->|有| H[把变量值代入定位具体字段/资源]
    G -->|没有| I[按表中"修复建议"操作]
    H --> I

完整原文

metadata.docs_raw 是 agent 可直接 WebFetch 的纯 markdown 版(原表里部分行带换行格式):

https://raw.githubusercontent.com/bmob/BmobDocs/master/mds/other/error_code/index.md

需要在 IDE 内复核某个不在本 skill 表内的码(例如 Bmob 未来新增),直接 fetch 该 URL 即可。

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-06-04 09:23 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

bmob-database-javascript

user_92a793e0
Use when implementing Bmob NoSQL database CRUD with the cross-platform hydrogen-js-sdk (3.0+ supports both Secret Key +
★ 0 📥 26

bmob-database-restful

user_92a793e0
Use when interacting with Bmob backend cloud over plain HTTP / curl from ANY language that lacks a Bmob SDK — Python (re
★ 0 📥 35

bmob

user_92a793e0
Use whenever the user mentions Bmob backend cloud (Bmob, BmobApp, bmobapp.com, Bmob 后端云) for ANY task: design data table
★ 0 📥 28