title: Difference between catch and onErrorResumeNext
body: <p>In RxJS, there seems to be very little difference between an Observable instance's <code>catch</code> method and <code>onErrorResumeNext</code> method, besides the fact that <code>onErrorResumeNext</code> concatenates the original Observable with the Observable parameters whether an error happens or not.</p>
  
  <p>If that's the case, isn't the naming a bit confusing? Because in case there is an error , <code>onErrorResumeNext</code> works exactly the same way than <code>catch</code> does:</p>
  
  <pre><code>var testObservable = Rx.Observable.return(1).concat(Rx.Observable.throw("Error"))
  
  // Both onError and onCatch will emit the same result: 1, 2
  var onError = testObservable.onErrorResumeNext(Rx.Observable.return(2));
  var onCatch = testObservable.catch(Rx.Observable.return(2));
  </code></pre>
  
  <p>Is there a strong reason for not always using <code>catch</code>?</p>