Scala尝试
示例
使用尝试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) => //处理错误... }