The error handling operators

We already learned about the onError event in the Subscriber/Observer. However, the problem with the onError event is that the error is emitted to the downstream consumer chain, and the subscription is terminated instantly. For example, take a look at the following program:

    fun main(args: Array<String>) { 
      Observable.just(1,2,3,5,6,7,"Errr",8,9,10) 
       .map { it.toIntOrError() } 
       .subscribeBy ( 
           onNext = { 
              println("Next $it") 
           }, 
           onError = { 
              println("Error $it") 
           } 
        ) 
     } 

The output of the program is shown in the following screenshot:

The program throws an exception in the map operator when the string Errr is emitted from ...

Get Reactive Programming in Kotlin now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.