Điều này về cơ bản là bao bọc các phương thức của nhà máy java để loại trừ các ngoại lệ nếu mục đó không thể được tạo dựa trên các đầu vào. Tôi đang tìm kiếm cái gì trong thư viện cơ sở như:Trong Scala, có chức năng thư viện nào có sẵn để chuyển đổi ngoại lệ sang Tùy chọn không?
def exceptionToOption[A](f: => A):Option[A] ={
try{
Some(f)}
catch{
case e:Exception => None}
}
Cách sử dụng:
val id:Option[UUID] = exceptionToOption(UUID.fromString("this will produce None"))
Tôi biết tôi có thể viết riêng của tôi, nhưng tôi muốn kiểm tra tôi không tái phát minh ra bánh xe.
tôi phải thiếu một số trường hợp sử dụng, nhưng bạn không thể sử dụng [Hoặc] (http://www.scala-lang.org/api/current/scala/Either.html)? – aishwarya
'Hoặc là 'cũng có ý tưởng tốt hơn cho tôi. Có thể có thông tin hữu ích trong Ngoại lệ –
Xác thực của Scalaz là một cải tiến cho cả trong trường hợp này. –