title: Error handling in spring reactor not working as expected
body: <p>I am not able to figure out why doOnError code is not getting executed even when tryDemo method is throwing NPE. I am trying to understand error handling in reactive programming and i am new to this</p>
  
  <pre><code>Mono.zip( Mono.fromCallable( ()-&gt;tryDemo()), Mono.fromCallable( ()-   &gt;tryDemo1()),Mono.fromCallable(()-&gt; tryDemo2() ))
          .flatMap( data -&gt; Mono.just( Tuples.of( data.getT1(), data.getT2(),data.getT3() ) ) )
          .doOnError( e -&gt; log.error( "Error {}", e.getStackTrace() ) )
          .subscribe(T-&gt;{log.info("Tuple {}",T.getT2()  );});
  
  
  
  public Mono&lt;String&gt; tryDemo() {
      log.info( "Data--1" );
  
      return Mono.error( NullPointerException::new );
      //return Mono.just( "1" );
  }
  
  15:56:07.023 [main] INFO com.infosys.rtbm.Test - Data--1
  15:56:07.027 [main] INFO com.infosys.rtbm.Test - Tuple MonoJust
  </code></pre>