Fix bug w/ exception not being passed to error callbacks of a Promise

This fixes #2556.