使用特别还是返回错误码?这是个争辩不休的话题。大家肯定听说过这样的说法:只有在真正特别的时候,才使用特别。那什么是“真正特别的时候”?在答复这个问题以前,让我们先看一看程序设计中的不变式原理。
对象就是属性聚合加方法,如何判定一个对象的属性聚合是不是处于规律上正确的状态呢?这可以通过一系列的断言,最终下一个结论说:这个对象的属性聚合规律上是正确的或者是有问题的。这些断言就是衡量对象属性聚合对错的不变式。
我们通常在函数调用中,实施不变式的检查。不变式分为三类:前条件,后条件和不变式。前条件是指在函数调用之前,必需满意的规律条件,后条件是函数调用后必需满意的规律条件,不变式则是整个函数执行中都必需满意的条件。在我们的争论中,不变式既是前条件又是后条件。前条件是必需满意的,假如不满意,那就是程序规律错误,后条件则不肯定。现在,我们可以用不变式来严格定义特别状况了:满意前条件,但是无法满意后条件,即为特别状况。当且仅当发生特别状况时,才抛出特别。
关于何时抛出特别的答复中,并不排斥返回值报告错误,而且这两者是正交的。然而,从我们阅历上来说,完全可以在这两者中加以选择,这又是为什么 ...
附件列表