外观
如何在协程中优雅地处理网络请求失败并进行重试?
标准回答
用 try/catch 处理可预期错误,仅对临时网络故障等可恢复情况进行有限次数重试;指数退避加随机抖动,用可取消的 delay 等待。不要吞掉 CancellationException;有副作用的请求还需幂等保障,认证失败或参数错误不应原样无限重试。
通俗例子
网络短暂断开可稍后重试;账号密码错误反复请求没有意义。限制次数并退避等待,页面结束后不要继续死循环。
内容来源
- Android · AI Agent 知识手册 · 原条目
4.2.3