I have a Try that throws Exception. I want that Try to become a Future so I will be able to recoverWith.
How can I convert the Try into a Future without handling any exceptions in the Try (just in the Future with recover)?
note that Await is needed to test the result of your future
The code sample demonstrates what I had in mind but it also throws once reached (new RuntimeException("-------failed-------") is what I get)
val t = Try(throw new RuntimeException("my"))
val resF : Future[String] = if (t.isSuccess)
Future.successful(t.get)
else
Future.failed(new RuntimeException("-------failed-------"))
val resFWithRecover = resF.recoverWith{
case NonFatal(e) =>
Future.successful("recoveredWith")
}
Await.result(resFWithRecover, Duration("5s"))