文档:修正认证 ADR 对系统变体分支的描述

- 说明系统变体不读载荷、只原样抛出,但变体名必须逐个列出以让 default: expectNever 成立
- 业务 / 会话变体仍要求每个 case 用 as 取具名载荷类型
This commit is contained in:
2026-10-01 20:49:43 +08:00
parent 0798bf5219
commit c940bf502c
@@ -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