Предположим, есть две функции findUser(id:String):Option[User]
и findAddress(user:User):Option[Address]
, вызываемые следующим образом:
for(user <- findUser(id); address <- findAddress(user)) println(address)
Теперь я хотел бы добавить регистрацию ошибок к этому for-comprehension
.Я хотел бы вызвать функцию log(msg:String)
, если либо user
, либо address
не найдено.
for(user <- findUser(id) ifNone log("user not found");
address <- findAddress(user) ifNone log("address not found"))
println(address)
Можно ли это сделать без изменения сигнатур функций?