【书名】:《程序员修炼之道》
【章节】:死掉的程序不会说谎、断言式编程
【读书笔记】:一旦发现不可能发生的事情已经发生,程序就不再可靠,放任异常的程序继续执行可能会造成更大的损失,因此,有时候需要让程序尽早崩溃。
不太明白文中“捕获再抛出”反例程序有什么争议点,这种做法明显没什么意义,对异常的“捕获再抛出”通常在需要为抛出的异常添加更详细的错误信息时使用,个人觉得这是一个很有用的技巧,这也并未违背文中给出的“原因”。
断言用于预防哪些不可能发生的事情,不应该使用断言代替真正的错误处理,另外,要特别注意断言的评估条件是否具有副作用,这很容易导致海森堡Bug(调试本身改变了被调试系统的行为)。最后,断言是很重要的错误检测机制,为其提供良好的错误处理逻辑(写入日志、上报错误)优于关闭断言。
展开
评论