Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 播放framework Enumerator.outputStream,如果引发异常怎么办_Scala_Playframework - Fatal编程技术网

Scala 播放framework Enumerator.outputStream,如果引发异常怎么办

Scala 播放framework Enumerator.outputStream,如果引发异常怎么办,scala,playframework,Scala,Playframework,我正在play framework 2.4中测试以下代码: def error = Action { val enumerator = Enumerator.outputStream { os => // some operations that... throw new Exception() } Ok.stream(enumerator >>> Enumerator.eof).withHeaders( CONTENT_TYPE -&

我正在play framework 2.4中测试以下代码:

def error = Action {
  val enumerator = Enumerator.outputStream { os =>
    // some operations that...
    throw new Exception()
  }
  Ok.stream(enumerator >>> Enumerator.eof).withHeaders(
    CONTENT_TYPE -> "text/plain"
  )
}
在传递给
outputStream
的函数中引发异常时,传递给
Ok.stream的枚举数将永远挂起。

我应该如何解决这个问题?

BTW:我在这里发现了这个模式(实际上很旧)确保在抛出异常时关闭流?@m-z
val enumerator=enumerator.outputStream{os=>试试{throw new exception()}最后{os.close()}
没有工作,仍然挂起。