Skip to main content
请基于稳定的错误码来做分支判断,绝不要基于消息文本。 每一个失败信封都会带上同一张表中的某个 E_* 错误码。错误码只会新增,绝不会被重命名或移除。错误码旁边的消息属于自由文案,任何一个版本都可能改动。 这张表随 extension-develop/contract/codes.json 一起发布,参见 结果信封

用法

项目

Manifest

编译

远程项目与网络

浏览器二进制与启动

浏览器运行时

调试协议

开发服务器

就绪契约

控制通道

日志

创建

其他所有情况

折叠名与历史名

codes.json 在这张表之外还带了两份额外的映射:
  • folded 把更细粒度的清单名映射到已发布的家族错误码上。例如 E_ARG_REQUIRED 会折叠到 E_ARGSE_BROWSER_NOT_INSTALLED 会折叠到 E_BROWSER_NOT_FOUND
  • legacy 把信封出现之前的三种命名约定映射到这张表上:ready.json 中的 snake_case 错误码(profile_locked 对应 E_PROFILE_LOCKED)、PascalCase 的错误名(TargetNotFound 对应 E_TARGET_NOT_FOUND),以及 kebab-case 的 doctor 检查项 id(eval-token 对应 E_TOKEN_MISSING)。
如果你的消费方遇到了表中没有的名称,请先通过这些映射把它解析出来,然后再做分支判断。

下一步