Вредно ли добавлять в подписку на ошибку 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"))
}

0 ответов

Другие вопросы по тегам