Fehler in JavaScript-Versprechungen mit einem First Level-Versuch abfangen ... catch

Ich möchte also, dass mein erster Fang derjenige ist, der den Fehler behandelt. Gibt es überhaupt eine Möglichkeit, meinen Fehler bis zu diesem ersten Fang zu verbreiten?

Referenzcode, funktioniert (noch) nicht:

Promise = require('./framework/libraries/bluebird.js');

function promise() {
    var promise = new Promise(function(resolve, reject) {
        throw('Oh no!');
    });

    promise.catch(function(error) {
        throw(error);
    });
}

try {   
    promise();
}
// I WANT THIS CATCH TO CATCH THE ERROR THROWN IN THE PROMISE
catch(error) {
    console.log('Caught!', error);
}