这基本上是包装java工厂方法,如果不能基于输入创建项,这些方法就会抛出异常。我在基础库中查找类似以下内容:
def exceptionToOption[A](f: => A):Option[A] ={
try{
Some(f)}
catch{
case e:Exception => None}
}
用法:
val id:Option[UUID] = exceptionToOption(UUID.fromString("this will produce None"))
我知道我可以写我自己的,但我想确认一下,我不是在重复发明轮子。
https://stackoverflow.com/questions/8013435
复制相似问题