问题描述
val time = LocalDateTime.Now()
如果我使用遍历
def print(x: Int) = {
if(x == 3 || x == 4)
IO.raiseerror(new RuntimeException("error " + x))
else
IO(println(x))
}
List.range(1,6).map(print)
它只打印1,2,我可以得到一个错误“错误3” 我想打印所有数字
List.range(1,6).map(print)
1
2
5
我该怎么做?
解决方法
解决方案:
List.range(1,6).traverse(print(_).attempt)
.map(_.collect{case Left(x) => x})