Hi Rob,

after the map you will have failed Future if you throw an exception inside
a map. So your example seems correct. Check out this full compiling and
running sample code:

import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global

def mapIt(f: Future[Option[Int]]) = f.map {
    case Some(i) => i
    case None => throw new Exception("None found")
}

val f = mapIt(Future { Some(123) })
val g = mapIt(Future { None })

Thread.sleep(100)

println(f.value)
println(g.value)

Which would print:

Some(Success(123))
Some(Failure(java.lang.Exception: None found))


On Tue, Jul 29, 2014 at 3:35 PM, Rob Jones <[email protected]> wrote:

> The following code is part of a Play asynchronous action
>
> The actor actorRef replies to GETVALUE with Option[Int]
>
> I would like a response of None to give a failed future f but instead the
> exception is thrown
>
> val f = (actorRef ? GETVALUE) map {
>  case Some(i; Int) =>
>  case None => throw new Exception("value not found")
> }
>
> Is this to do with the threading in the particular usage?
>
> Many thanks.
>
> --
> >>>>>>>>>> Read the docs: http://akka.io/docs/
> >>>>>>>>>> Check the FAQ:
> http://doc.akka.io/docs/akka/current/additional/faq.html
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Martynas Mickevičius
Typesafe <http://typesafe.com/> – Reactive
<http://www.reactivemanifesto.org/> Apps on the JVM

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to