假设我正在编写一个库,它将一系列双精度数据以某种格式存储到文件中。该格式要求双打单调递增。
现在,一些用户不会仔细阅读手册或编写错误的前端来执行类似的操作
store(3.0)
store(3.1)
store(0.3)
store(7.8)
图书馆能做的是
store(0.3)
调用时出错。- 尝试通过正确的猜测来纠正错误,例如,实际上
store(3.3)
。 - 更正错误并将消息写入
stderr
。 - [...]
(1) 的优点是用户不会错过它。但是,如果代码运行了很长时间(在我的上下文中这是常规情况),用户不会对程序中止感到太高兴。(2) 会取消这一点,但可能会鼓励滥用图书馆。
是否有任何语言的政策提倡一种方法而不是另一种方法?