Вредно ли добавлять в подписку на ошибку Scala.RX Observable<Closable>?
Я использую rx.lang.scala
в понимании, которое я хочу быстро потерпеть. Я тоже хочу ресурс parameters
быть закрытым, если возникает исключение. Будет ли doOnTerminate работать правильно, если вы выбросите Exception / Throwable, как в приведенном ниже примере?
private def createAgreement(parameters: Params, output: ByteArrayOutputStream): Try[Unit] = Try {
output
.usedIn(AgreementCreator(parameters).createAgreement) //Observable.using(resource)(observableFactory, t => { dispose(t); IOUtils.closeQuietly(t) }, disposeEagerly)
.doOnTerminate(parameters.close()) //close resource
.toBlocking
.subscribe(_ => {},
e => throw e,
() => debug("completed"))
}