0

如果我有一个方法说getNextWidget()返回一个小部件,那么如果我需要检查制造小部件的工厂的大小并且仅在工厂中有小部件时才返回一个小部件,那么这种方法的正确设计是什么?有没有办法为不是的方法抛出异常void

4

1 回答 1

2

一个常见的模式是在null没有更多小部件时返回​​。如果该方法永远不会返回,这将非常有效null

另一种常见的模式是抛出异常。但是你也应该有一个hasMoreWidgets()方法。在正常的操作流程中(例如检索所有小部件直到没有留下任何小部件),程序不应触发异常。

无论哪种方式,如果可能有更多小部件,但访问工厂时出现问题,因此您无法确定,您应该抛出异常(因为这将是一个真正的错误条件)。

于 2012-07-04T03:57:53.690 回答