小编shj*_*shj的帖子

Scala - 在地图中捕获异常

在Scala中循环迭代时处理异常的最佳方法是什么?例如,如果我有一个可以抛出异常的convert()方法,我想捕获该异常,记录它并继续迭代.是否有"scala"方式来做到这一点?

理想情况下,我喜欢......

val points: Seq[Point] = ...
val convertedPoints: Seq[ConvertedPoint] = points.map(
   p => {
     try { p.convert() } 
     catch { case ex: Exception => logger.error("Could not convert", ex) }
})
Run Code Online (Sandbox Code Playgroud)

你不能做上面的代码,因为它不是从一个列表到另一个列表的直接映射(你得到Seq [Any]而不是Seq [ConvertedPoint]).任何帮助将不胜感激!

谢谢!

dictionary loops scala exception scala-collections

16
推荐指数
3
解决办法
9760
查看次数

标签 统计

dictionary ×1

exception ×1

loops ×1

scala ×1

scala-collections ×1