防御性编程技术 — 计算机选择题
题目
某服务从外部文件加载一组运行配置,文件可能为空、格式错误或包含非法配置项;加载失败时,当前正在使用的配置必须保持不变。以下哪种实现最符合防御性编程要求?
A. 逐项读取并立即写入当前配置,遇到非法项时跳过该项继续加载
B. 先将文件内容解析到临时配置中,逐项校验;全部有效后再整体替换当前配置,否则报告错误并保留原配置
C. 先清空当前配置,再逐项读取;遇到非法项时停止加载并报告错误
D. 直接信任文件内容并完成加载,仅在后续运行发生故障时记录日志