如何在scala play框架中停止执行或抛出错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在scala play框架中停止执行或抛出错误相关的知识,希望对你有一定的参考价值。

我正在开发一个带有播放框架的scala应用程序,但我有点奇怪。我无法停止执行也不会抛出错误,以便为客户端发送响应,它总是继续代码,它总是返回好,但是我做了一个虚拟函数,它应该返回一个错误的请求,但不幸的是它返回好的,这就是我写的。任何帮助将不胜感激

def foo(locale: String, orderId: Int) = Action { implicit request => {
 val x=4+7;
if(x==11){
BadRequest(JsonHelper.convertToJson("Bad bad it is really bad "))
}
OK(JsonHelper.convertToJson("Well Done"))
}
}

上面的代码返回OK做得好。

答案

要使代码返回BadRequest,请添加else

def foo(locale: String, orderId: Int) = Action { implicit request => {
  val x = 4 + 7;
  if (x == 11)
    BadRequest(JsonHelper.convertToJson("Bad bad it is really bad "))
  else // <---
    OK(JsonHelper.convertToJson("Well Done"))
}}
另一答案

如果没有花括号,你的问题就是你的问题。

提到这个链接:qazxsw poi

if - 如果你有else子句,则省略括号。否则,即使内容只是一行,也要用花括号括住内容。

因此,您可以使用花括号来调用BadRequest,或者在Bad和OK指令之间添加else语句。小心,不要忘记缩进!

编辑20/12/2017 >> un scala最后一条指令被隐式返回。你的上一条指令没问题,所以返回OK。

在if块中添加显式return语句或添加else语句。

以上是关于如何在scala play框架中停止执行或抛出错误的主要内容,如果未能解决你的问题,请参考以下文章

Python 2.7.12 Matplotlib x11 转发不显示或抛出多个错误

等待 Promise.reject 或抛出错误以纾困?

从 nib 加载自定义 UIView 会导致无限循环或抛出 nil 异常

我如何在 asp.net 核心中捕获或抛出异常?

如何在视图页面中使用Play框架和Scala显示图像

如何搭建scala的play框架