一个重要的异常状况是:合法性反省代价十分高并且重要, 并且反省是在执行计算的进程中执行的。举个例子:有一个办法对一个对象list排序,比如 Collectios.sort(list),一切的list中的对象必须是可相互比较的。在处置list比较的时分,每个对象将会跟其它的对象停止比较,
假设对象不能相互比较,其中一个或多个比较会抛出ClassCastException,这是排序办法应该做的。
所以:这里有一个小店,在末尾的时分反省列表中的元素应该是可以相互比较的,留意:修正合法性反省会丧失原子失败。
偶然,一个计算执行了一个需求的合法性反省,但是当执行反省失败的时分,抛出了一个错误的异常。换句话说,计算常常会抛出参数合法性反省的异常,并不会婚配办法在文档中声明的异常。这种场景下,你应该运用异常翻译成语。 转换自然异常为正确的异常。
这个准绳并不是说武断的限制参数是一件坏事,而是说:你应该设计通用实践的办法。假定你的办法接受一切的参数组合而可以做一些合理事情,你的参数限制越少越好,但是,一些限制本质上在笼统类中曾经被完成了。
小结
假设看完之后你只能记住一句话C拦畚你写一个办法或许一个结构函数,你应该思索参数的限制能否存在,你应该把限制写在文档中,并在办法体的末尾部分确保停止了反省。
养成这个习气很重要,适当的任务会在第一次合法性反省失败的时分回馈你。
(责任编辑:admin)