diff --git a/docs/adr/【ADR】AGC认证失败的JS侧载体与抛出时机-2026-10-01.md b/docs/adr/【ADR】AGC认证失败的JS侧载体与抛出时机-2026-10-01.md index 5bf93e66c..9763dd0fa 100644 --- a/docs/adr/【ADR】AGC认证失败的JS侧载体与抛出时机-2026-10-01.md +++ b/docs/adr/【ADR】AGC认证失败的JS侧载体与抛出时机-2026-10-01.md @@ -78,8 +78,9 @@ catch (error) { } ``` -- **每个 `case` 用 `as` 取自己的具名载荷类型**,不写 `error.payload.message` 这种跨变体的 - 通用读取;等价于 Java 的 `catch (PhoneNumberInvalid e)`。 +- **每个业务 / 会话 `case` 用 `as` 取自己的具名载荷类型**,不写 `error.payload.message` 这种 + 跨变体的通用读取;等价于 Java 的 `catch (PhoneNumberInvalid e)`。系统变体不读载荷(调用方 + 只负责原样抛出),但变体名必须逐个列出,`default` 的 `expectNever` 才成立。 - 业务 / 会话变体:把载荷自带的 `message` 原样交给用户,**不加兜底文案**(那就是 Rust 生成的 那一份)。 - 系统变体:调用方处理不了,**原样 `throw`**。`onSubmit` / `onClick` 这类 `void` 掉的 handler