Skip to main content
会议 SDK 抛出的错误是 SMeetingError,继承 Error,额外带三个字段: toString() 输出 "{code}: {detail}"

错误码是怎么拼出来的

  • SDK 内部错误:原始码 < 1000,加平台前缀拼成 6 位数。 HarmonyOS 的会议前缀是 208,所以内部错误码形如 208001 ~ 208009
  • 业务后端透传的错误码:≥ 1000 时原样保留
注意会议与 RTC 用两套前缀:RTC 是 108、会议是 208 (各端都是这个规则,首位 1 表示 RTC、2 表示会议业务)。 所以看到 208xxx 就知道是会议层的错,108xxx 是底层 RTC 的错。调用会议接口时两种都可能收到 —— 会议层的操作最终会落到 RTC 层。

错误清单

unauthorized208004)是会控接口最常见的错误。所有 admin* 方法都要求 主持人或联席主持人身份 —— UI 上应该按 Role 提前隐藏 / 禁用按钮, 而不是等调用失败再提示。

推荐的处理方式

JSON.stringify(new Error()) 的结果是 {}ArkTS 里直接把错误对象序列化进日志会得到空对象。排障时请显式取 code / detail

入会失败还有一条独立通路

enterRoom() 抛错只覆盖”请求阶段就失败”。入会请求成功、但后续被服务端拒绝 (比如会议已锁定、被移入等候室)走的是事件:
所以入会的错误处理要同时try/catchonRoomJoinFailed,只写一边会漏。

底层 RTC 错误

会议 SDK 内部用的是 SRTC,所以媒体相关的失败可能抛出 SRTCError108xxx)。 常见的有 captureError(采集失败)、codecNotSupportedtransportNotReady 完整清单见 SRTC 错误码
H264 不支持时不报错,而是静默退回 VP8。@ohos/webrtc 的 H264 / H265 纯硬编、没有软编兜底。设备不支持时 SDK 会退回默认编码, 不抛异常 —— 表现是本机有画面但与其它端互通不上。自测要核对实际协商到的编码,别以”看到画面”为准。方法见 SRTC 的通话质量

相关阅读