在软件开发过程中或已发布阶段中,难免会碰到或多或少的问题,如果我们
错误分为operational error和programmer error。
operational error一定要被处理,programmer error要被修正。不要用try/catch来处理或绕过programmer error(即在不修复programmer error的情况下,使程序继续运行),这可能会导致难以发现的非常严重的bug。
参数错误是属于operation error还是programmer error由开发者决定。如果一个函数的参数在其文档中已经做了明确的限制,而调用者传入了限制外的参数,那么就是programmer error;如果调用者传入了合法的参数,但函数还是因为参数而发生错误,那么就是operational error,当然这个operational error是对调用者来说的,对于函数的实现者这是一个programmer error。