【发布时间】:2016-11-28 03:05:13
【问题描述】:
我的 play 2 应用中有以下代码:
控制器:
...
def getUserById(id: Long) = Action.async {
try {
userService.findById(id)
.map(u => Ok(Json.toJson(u))
.recover {
case e: Exception => Ok("Exception got")
}
}
}
...
服务:
...
override def findAll: Future[Seq[User]] = {
throw new Exception("Error 1")
}
...
但在控制器中,我无法捕获服务中引发的异常(恢复块以某种方式被忽略)。而是显示带有异常“错误 1”的播放标准错误页面。
我做错了什么?
【问题讨论】:
-
你应该
Future.failed(new Exception("Error 1"))
标签: scala asynchronous playframework future