Si tratta fondamentalmente di avvolgere i metodi di factory java che generano eccezioni se l'elemento non può essere creato in base agli input. Sto cercando qualcosa nella biblioteca di base come:In Scala, esiste una funzione di libreria preesistente per convertire le eccezioni in Opzioni?
def exceptionToOption[A](f: => A):Option[A] ={
try{
Some(f)}
catch{
case e:Exception => None}
}
Usage:
val id:Option[UUID] = exceptionToOption(UUID.fromString("this will produce None"))
So che posso scrivere il mio, ma voglio verificare non sto re-inventare la ruota.
devo mancare qualche caso d'uso, ma non potresti usare [Either] (http://www.scala-lang.org/api/current/scala/Either.html)? – aishwarya
"O anche" sembra un'idea migliore per me. Potrebbero esserci informazioni utili nell'eccezione –
La convalida di Scalaz è un miglioramento per entrambi in questo scenario. –