Manejo de errores de suscripción anidada RX2.0

Estoy tratando de descubrir cómo captan las excepciones las transmisiones RX. En particular, si tengo una suscripción dentro de una suscripción y la suscripción interna recibe una exception de la que es observable, ¿debo manejar eso en onError para suscripción interna o puedo manejarlo en onerror de suscripción principal?

observableThing1.subscribe({ _ -> observableThing2.subscribe({ _ -> // Something horrible happens here an an exception is throw by observableThing2 }) }, { error -> // Expecting I can handle all errors at the top most subscription }) 

En su caso, necesitaría manejar onError para cada subscription :

  observable1Thing().subscribe({ obs1Result -> observable2Thing().subscribe({ obs2Result -> }, { obs2Error -> }) }, { obs1error -> }) 

Si combina los observables con un operador como flatMap , solo necesitaría una subcription y, por lo tanto, manejaría solo un caso de onError . Qué operador usarías depende de cómo quieras combinar los observables .

Ejemplo:

  obs1().flatMap { obs2() }.subscribe({ }, { error -> }) 
  • llamar parte de la secuencia una vez con múltiples suscriptores?
  • RxJava salida diferente entre Flowable y Observable con window y Groupby
  • Single.zip completando antes de Success
  • Encadenando Observables para evitar suscripciones múltiples
  • Ingrese los valores propios para combinarlos
  • Cómo fusionar 2 flujos separados, almacenar los datos rellenos y subscribirlos después de un time corto
  • Error "No se puede combinar Dex" al usar Room + Kotlin
  • Enfrentando problemas con la implementación de Rx Java con la architecture de flujo en Android kotlin
  • El suscriptor RxJava2 PublishSubject no puede recibir elementos cuando se le llama desde varios hilos usando SingleScheduler
  • Cómo contar el time de ejecución de lo observable
  • JsonArray a la class de datos de Kotlin con Retrofit (se esperaba BEGIN_OBJECT pero era BEGIN_ARRAY)