【发布时间】:2015-03-28 13:15:44
【问题描述】:
假设我有一个方法..
def foo(b: Bar): Try[Bar] = ???
Try 在这里只是一个占位符。 foo 对Bar 执行操作,然后返回一个值来指示成功/失败。我想返回带有成功/失败指示的原始值,所以当我有一个集合时,我可以知道 哪些 失败和成功,并对它们进行处理。 Try 对我不起作用,因为 Failure 包装了一个异常(假设我不关心它失败的原因)。
我可能会返回Either[Bar, Bar],但重复类型参数似乎是多余的。
还有比这更好的选择吗?
【问题讨论】:
-
你想在成功时返回值,还是在失败时返回?
-
你可以返回(布尔值,条形)
-
成功和失败,所以我可以准确收集哪些值成功,哪些值失败。
-
如果两者都需要,可以返回
(Bar, Try[Bar])
标签: scala