—
| 实际情况 | 该报的话 | 报错的代价 |
|---|---|---|
| 网络 / 连接失败 | 网络不稳,已重试 N 次;先显示本地缓存 | 报成服务器故障 → 白查服务端 |
| 数据到了但渲染崩 | 脚本版本过期,请 Ctrl+F5 强刷 | 报成服务器故障 → 方向被带偏两天 |
| 401 / 403 | 密钥失效,请刷新页面重新登录 | 让用户一直点重试,永远好不了 |
| 超时(AbortError) | 接口超时,稍后点刷新再试 | 和「服务器挂了」混为一谈 |
| 数据格式空 / 字段缺失 | 数据已到达但缺少字段 X | 静默渲染成 0,比报错更危险 |
1 · 一句 catch 报所有错。渲染崩溃、网络失败、密钥失效、超时全都被归成「服务器数据读不到」,两天都在服务器上找不存在的问题。
2 · 修法是分流,不是加日志。try 里只放取数,渲染单独包一层 try,两句话分开报——排查方向一句话就能定下来。
3 · 兜底比报错重要。彻底失败时用 localStorage 里上次的好数据渲染,标成「缓存数据 · N 分钟前」,用户永远看得到东西,而不是一堵错误墙。
4 · 401/403 不要重试。密钥错了重试三次只是让用户多等几秒,直接告诉他刷新重登。