Scala 播放framework Enumerator.outputStream,如果引发异常怎么办
我正在play framework 2.4中测试以下代码: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 -&
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-zval enumerator=enumerator.outputStream{os=>试试{throw new exception()}最后{os.close()}
没有工作,仍然挂起。