使用尝试map,getOrElse并且flatMap:
import scala.util.Try
val i = Try("123".toInt) // 成功(123)
i.map(_ + 1).getOrElse(321) // 124
val j = Try("abc".toInt) // 失败(java.lang.NumberFormatException)
j.map(_ + 1).getOrElse(321) // 321
Try("123".toInt) flatMap { i =>
Try("234".toInt)
.map(_ + i)
} // 成功(357)Try与模式匹配一起使用:
Try(parsePerson("John Doe")) match {
case Success(person) => println(person.surname)
case Failure(ex) => // 处理错误...
}