Skip to content

Protocol: Errors

所有错误码定义。命名规则:E_<CATEGORY>_<SPECIFIC>W_<CATEGORY>_<SPECIFIC>(警告)。

常用错误码(节选)

这是常见子集。完整 ~32 个错误码 + 2 个警告码的权威定义见 packages/protocol/src/errors.tsERROR_META;category / retryable 一律由该表推导,不接受调用方传入。

CodeCategoryRetryable说明
E_MANIFEST_FETCHmanifestmanifest 拉取失败
E_MANIFEST_PARSEmanifestmanifest 解析失败
E_NETWORKnetwork网络错误
E_NETWORK_TIMEOUTnetwork网络超时
E_NETWORK_CORSnetworkCORS 被拦
E_AUTH_EXPIREDauth签名 URL 过期(不做刷新,ADR-022)
E_AUTOPLAY_BLOCKEDautoplay浏览器拒绝自动播放
E_MEDIA_NOT_SUPPORTEDmedia浏览器不支持此格式
E_MEDIA_DECODEmedia解码错误
E_METHOD_NOT_SUPPORTEDenv命令当前平台不支持(如运行时换内核)
E_UNKNOWNenv其他

iframe 传输层(frame-core / embed-app 握手与连接):

CodeCategoryRetryable说明
E_HANDSHAKE_TIMEOUTnetwork握手超时
E_HANDSHAKE_VERSION_MISMATCHenv契约版本不兼容
E_CONNECTION_LOSTnetwork通信断线(自动重连中)
E_LOAD_FAILED / E_LOAD_TIMEOUTnetworkiframe 加载失败 / 超时
E_RECONNECT_FAILEDnetwork重连用尽仍失败

警告码(W_*,不中断播放):W_BROWSER_INCOMPATIBLE(UC / 夸克)、W_VERSION_MISMATCH

PlayerError 结构

ts
interface PlayerError {
  code: ErrorCode          // E_* 枚举(非自由字符串)
  message: string
  retryable: boolean       // 从 ERROR_META 推导,不由调用方传
  category: 'manifest' | 'media' | 'network' | 'auth' | 'env' | 'autoplay'
  cause?: unknown          // 原始错误(debug 用)
}

详细说明

权威来源:packages/protocol/src/errors.ts。另见 USER-GUIDE.md § 29 完整错误码表 + 用户建议。