Ich habe folgenden Code in meinem Stück 2 App:Wiedergabe Rahmen async Aktion: Zukunft recover nicht funktioniert
Controller:
...
def getUserById(id: Long) = Action.async {
try {
userService.findById(id)
.map(u => Ok(Json.toJson(u))
.recover {
case e: Exception => Ok("Exception got")
}
}
}
...
Service:
...
override def findAll: Future[Seq[User]] = {
throw new Exception("Error 1")
}
...
Aber in Controller Ich kann keine Exception auslösen, die im Service ausgelöst wird (Wiederherstellungsblock wird irgendwie ignoriert). Stattdessen wird die Standardfehlerseite mit Ausnahme "Fehler 1" angezeigt.
Was mache ich falsch?
Sie sollten 'Future.failed (new Exception ("Error 1"))' – dk14