惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Y
Y Combinator Blog
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
M
MIT News - Artificial intelligence
博客园 - Franky
V
Visual Studio Blog
I
InfoQ
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
博客园 - 司徒正美
L
LangChain Blog

博客园 - 秦瑞It行程实录

sre ocr 实践 Ollama 上的 novaforgeai/deepseek-coder:6.7b-optimized,它明确标注了“无需显卡 (No GPU required)”,最低 12GB 内存即可运行 docker pull docker.1ms.run/library/eclipse-temurin:17-jdk npm install @vue-office/docx --save ssh 限制 ip 及用户密钥认证登录 windows 11 安装 配置 时候 必须要联网吗 但是 镜像 没驱动 怎么跳过 Windows修改 本地账号 在线 账号 用 kali chntpw 工具 破解 本地 在线密码 联想笔记本 U盘 引导 需要关闭安全引导 win激活 秒杀 限流 技术 guava的限流器 POD 状态一直 CrashLoopBackOff?教你三种容器调试技巧 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 Jenkins基于role匹配Item项 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园
复盘生产级故障边界除0故障
秦瑞It行程实录 · 2026-04-14 · via 博客园 - 秦瑞It行程实录


二、事故原因
· 直接原因:
在计算运输进度时,代码中直接使用“总运单数”作为分母进行除法运算,未对总运单数为0的情况
进行校验和处理,导致发生除零异常,进而引发系统报错,页面数据无法加载
· 根本原因:
代码逻辑不严谨:未考虑到边界场景(如无运单数据时总运单数为0),缺乏必要的防御性编程。
测试覆盖不足:测试用例未覆盖总运单数为0的极端情况,导致该问题在测试阶段未被发现。

三、整改动作

· 短期整改
紧急修复:在进度计算逻辑中增加对总运单数为0的判断,若为0则直接返回0或默认值,避免除零
异常。
灰度发布与验证:修复后先在测试环境验证通过,再灰度发布至生产环境,确认问题已解决。
长期整改
完善代码规范:在开发规范中明确要求对所有除法运算进行分母非零校验,推动防御性编程落地。
加强测试用例设计:在测试用例中增加边界值和异常场景覆盖,特别是涉及数学运算、空数据等情
况的测试。
优化代码评审机制:将“异常场景处理”纳入代码评审检查清单,确保关键逻辑的安全性。

  1. 正常场景(Happy Path)

  2. 边界场景(0、1、max、min)

  3. 异常场景(null、空、类型错误、除零、未登录、无权限)

  4. 空数据/初始状态场景(首次进入、无记录、未配置)