title: Bluebird.js: Re-Throwing the error in catch callback is not caught again
body: <p>I'm wondering why the outer catch callback is never called in this example:</p>
  
  <pre><code>var returnPromise = function () {
    return new Promise(function (resolve, reject) {
        resolve('promise return value');
    })
  };
  returnPromise().then(function () {
      returnPromise().then(function() {
          throw new Error('hello');
      }).catch(function (err) {
          console.log('got inner error', err);
          return Promise.reject(err);
          //throw err;
      });
  }).catch(function (err) {
    console.log('got outer error', err);
  });
  </code></pre>
  
  <p>I tried to throw the caught error again and also to return a rejected Promise but in both cases the outer callback is not called.</p>
  
  <p>Can anyone tell me why?</p>
  
  <p>Live Example using bluebird.js 3.0.2:
  <a href="http://codepen.io/jjd/pen/wMqEpR?editors=001" rel="nofollow noreferrer">http://codepen.io/jjd/pen/wMqEpR?editors=001</a></p>
  
  <p>EDIT: I forgot to return returnPromise() in line 7, that's why the code doesn't work as expected.</p>