相关疑难解决方法(0)

从Java中的方法返回状态标志和消息的最佳方法

我有一个看似简单的场景,我想要一个简单的解决方案,但是哪个是"最正确"或"大多数Java"并不明显.

假设我在某个类中有一个小的身份验证(客户端客户端)方法.验证可能由于多种原因而失败,我想为控制流返回一个简单的布尔值,但也为用户返回一条String消息.这些是我能想到的可能性:

  • 返回一个布尔值,并传入一个StringBuilder来收集消息.这是最接近C风格的方式.
  • 抛出异常而不是返回false,并包含消息.我不喜欢这样,因为失败并非例外.
  • 使用boolean和String创建一个名为AuthenticationStatus的新类.对于一种小方法来说,这似乎有些过分.
  • 将消息存储在成员变量中.这会引入潜在的竞争条件,我不喜欢它意味着某些状态并不存在.

还有其他建议吗?

编辑关闭此选项

  • 返回null表示成功 - 这不安全吗?

编辑方案:

我选择了最OO解决方案并创建了一个小型AuthenticationResult类.我不会用任何其他语言来做这个,但我喜欢Java.我也喜欢返回String []的建议,因为它像null返回但更安全.Result类的一个优点是,如果需要,您可以获得包含更多详细信息的成功消息.

java exception return-value

27
推荐指数
3
解决办法
2万
查看次数

标签 统计

exception ×1

java ×1

return-value ×1