PublishProcessor
があり、特定のチェックを実行するには.doOnSubscribe(checkCondition)
演算子が呼び出されます。 checkCondition
は、UnsupportedOperationException
をスローすることを意図しており、その後、ストリームをサブスクライバにonError()
メソッドまで伝搬する必要があります。代わりにUndeliverableException
がスローされ、プロセスがクラッシュします。doOnSubscribe()からスローされたときに例外がonError()に伝播されない
publishProcessor
.filter(() -> { // predicate })
.observeOn(scheduler)
.doOnSubscribe(checkCondition)
.to((sourceFlowable) -> new FancyFlowable(sourceFlowable)))
.safeSubscribe(subscriber);
ここで何が問題になっているのでしょうか? checkCondition
から投げられた例外がサブスクライバのonError
に伝播されないのはなぜですか?
観察された行動は、バグによるものです。 [#5103](https://github.com/ReactiveX/RxJava/pull/5103)で修正してください。 – akarnokd