在java中返回对象的方法的设计指南我可以使用异常吗?

时间:2012-07-04 03:45:39

标签: java

如果我有一个方法说getNextWidget()返回一个小部件,那么如果我需要检查say的大小,制作小部件的工厂并且只返回小部件,那么这种方法的正确设计是什么?工厂里有小工具吗?有没有办法为非void的方法抛出异常?

1 个答案:

答案 0 :(得分:2)

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

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

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