Идиоматический метод работы с цепями Option
заключается в использовании for-compitions и вызова getOrElse
.
val a = for {
val temp <- f(param)
val result <- Some(g(temp))
} yield result getOrElse <Default Here>
Нельзя обойтись ни с установкой по умолчанию, ни с повышением исключения, если вы собираетесь категорически распаковать Option
, поскольку f
может вернуть None
, а g
не может принять это.