Esto es básicamente para envolver los métodos de fábrica java que generan excepciones si el elemento no se puede crear en función de las entradas. Estoy buscando algo en la biblioteca de base como:En Scala, ¿existe una función de biblioteca preexistente para convertir excepciones en Opciones?
def exceptionToOption[A](f: => A):Option[A] ={
try{
Some(f)}
catch{
case e:Exception => None}
}
Uso:
val id:Option[UUID] = exceptionToOption(UUID.fromString("this will produce None"))
sé que puedo escribir mi propio pero quiero comprobar que no estoy re-inventar la rueda.
me falta un caso de uso, pero ¿no podría usar [Cualquiera] (http://www.scala-lang.org/api/current/scala/Either.html)? – aishwarya
'O' me parece una mejor idea también. Puede haber información útil en la excepción –
La validación de Scalaz es una mejora para cualquiera de las dos situaciones. –