title: Bluebird Promise.try rejection behaviour
body: <p>I have a setup very similar to this</p>
  
  <pre><code>const Promise = require("bluebird");
  function reject() {
      return Promise.reject("foo");
  };
  process.on("unhandledRejection", () =&gt; {
     console.log("Promise rejected");
  });
  Promise.try(() =&gt; {
     reject();
     return;
  }).catch(console.log);
  </code></pre>
  
  <p><code>.catch</code> catches the rejection and prints out the <code>foo</code> error message, but it also triggers <code>unhandledRejection</code>.
  If I return that rejected Promise though, it works:</p>
  
  <pre><code>reject();
  return;
  </code></pre>
  
  <p>would be changed to</p>
  
  <pre><code>return reject();
  </code></pre>
  
  <p>But the problem is, I need to catch non-returning Promise before returning another one..
  Is this how bluebird's try supposed to work, or am I missing something?</p>