title: When is .then(success, fail) considered an antipattern for promises?
body: <p>I had a look at the <a href="https://github.com/petkaantonov/bluebird/wiki/Promise-anti-patterns" rel="noreferrer">bluebird promise FAQ</a>, in which it mentions that <a href="https://github.com/petkaantonov/bluebird/wiki/Promise-anti-patterns#the-thensuccess-fail-anti-pattern" rel="noreferrer"><code>.then(success, fail)</code> is an antipattern</a>. I don't quite understand its explanation as for the <code>try</code> and <code>catch</code>.
  What's wrong with the following?</p>
  <pre class="lang-js prettyprint-override"><code>some_promise_call()
  .then(function(res) { logger.log(res) }, function(err) { logger.log(err) })
  </code></pre>
  <p>It seems that the example is suggesting the following to be the correct way.</p>
  <pre class="lang-js prettyprint-override"><code>some_promise_call()
  .then(function(res) { logger.log(res) })
  .catch(function(err) { logger.log(err) })
  </code></pre>
  <p>What's the difference?</p>