【发布时间】:2019-08-28 15:47:05
【问题描述】:
当某些条件不满足时,我有一个不返回任何内容 (void) 或字符串的函数。
我试试这行 Either.left(Void)
private Either<Void,String> processOrReturnErrorMessage(){
//Do something and in some case return a message of failed conditions
return Either.left(Void);
}
【问题讨论】:
-
当您不希望返回任何内容时,为什么不只返回一个空字符串?
-
如果返回字符串的情况表明操作失败,为什么不抛出异常呢?这就是他们的目的
-
我使用 vavr 来避免处理异常的功能案例。 @Nexevis你是对的,这可能是一种可能性。但事实是我想使用更结构化的方式,比如 result.isLeft(),甚至更多的 result.map
-
值得一提的是,
Either不是 Java,它的 Scala 或其他一些库。 -
库是标题和标签中提到的VAVR