返回布尔值而不是在Java中声明void类型?
对于在方法签名中返回布尔值以指示成功的操作而不是声明无效,是否有任何硬性快速规则?我发现对于调用方法中的更关键操作,我想知道操作是否完成,以便我可以记录任何问题。这是布尔值的“不恰当”使用吗?
对于在方法签名中返回布尔值以指示成功的操作而不是声明无效,是否有任何硬性快速规则?我发现对于调用方法中的更关键操作,我想知道操作是否完成,以便我可以记录任何问题。这是布尔值的“不恰当”使用吗?
通常我使用s来表示出现问题时。Exception
而不是返回 ,您可以提供关于问题所在的详细信息。false
throw
Exception
返回不会为您提供有关问题的太多信息。false
然后,如果您预计方法很容易失败,则无需检查返回值,只需将方法调用放入/即可。false
try
catch
许多人会抱怨这种方法比较慢。但是,您获得的好处远远超过了减速。此外,如果您使用的是Java,速度不应该是您的#1问题。
我通常发现,在失败的情况下抛出异常比返回布尔值要好得多,因为通常不关心过程是否成功 - 我只关心它是否失败。通过使用异常,我可以提供有关进程实际失败原因的任何数量的信息。
如果异常看起来令人反感,您可以返回一个自定义 Status 对象,其中包含一个布尔值和一个状态消息(类似于“添加了 6 个新的 Foobars!”或“无法添加 Foobars,因为 Foobin 已满!”),尽管这当然更复杂。