第九章|错误、安全与资源管理
功能能返回一次正确结果之后,还要理解失败时发生什么、输入能越过哪些边界、长期运行后资源是否仍在增长。本章使用前面学过的 Error、原型、闭包和事件,把这些问题串起来。
本章的阅读顺序
这些概念怎样联系
错误传播帮助保留原因,安全校验限制外部输入的权力,资源清理限制无用工作的寿命。三者都需要明确边界:谁负责验证、谁负责恢复、谁负责收尾。性能测量与回归测试提供证据,但测量值不能替代语言规范,单次通过也不能证明全部情况。
三篇分别从可复现异常现象入手:总和变成105,沿变量类型找到第一次错误假设;局部对象读到并非自有的theme,沿赋值与原型查找解释来源;旧页面继续响应事件,沿注册关系找到保留者。每次先确定发生了什么,再改变边界并验证,不把兜底、过滤或强制GC当作万能修复。
阅读后的自查
为缺失字段留下一条回归断言,拒绝一个看似同站却实际异源的地址,再证明重复清理订阅不影响另一个订阅。登记取消可以确定性验证;垃圾回收何时发生不属于测试的时限承诺。