mapToSwitchError function
将任意异常映射为 ClassSwitchError。
- 已是 ClassSwitchError 直接透传
- StateError(业务前置校验失败)→ 不可重试
- 其它异常 → 默认可重试
Implementation
ClassSwitchError mapToSwitchError(Object e, {StackTrace? stackTrace}) {
if (e is ClassSwitchError) return e;
if (e is StateError) {
return ClassSwitchError(
code: -1,
message: e.message,
retryable: false,
cause: e,
);
}
return ClassSwitchError(
code: -1,
message: e.toString(),
retryable: true,
cause: e,
);
}