In my project, I use RxJS to handle HTTP request. I came into a confusing point about the error handling part as following:
    .switchMap((evt: any) => {
      return http.getComments(evt.params)
        .map(data => ({ loading: false, data }))
        .catch(() => {
          console.log('debugging here');
          return Observable.empty();
        });
    })
in the above code, inside the switchMap operator, I use the http.getComments function to send request, which is defined by myself as following: 
  getComments(params) {
    return Observable.fromPromise(
      this.io.get(path, { params })
    );
  }
in this function, I use fromPromise operator convert the returned Promise to observable.
The problem is when HTTP request failed, the catch operator inside switchMap can not work, the debugging console can't output. So what's wrong with my code. 
    
catchcannot work insideswitchMap?