This needs an error handler. Something like:

    .catch(function(err) {
       throw err;
    })

or without that will the exception get thrown by default? You should test it.