diff --git a/packages/eventual-send/src/index.js b/packages/eventual-send/src/index.js index 285e4d125c2..12872448547 100644 --- a/packages/eventual-send/src/index.js +++ b/packages/eventual-send/src/index.js @@ -440,8 +440,11 @@ export function makeHandledPromise(Promise) { if (typeof handler[operation] !== 'function') { throw TypeError(`${handlerName}.${operation} is not a function`); } - // If we throw, the race is not over. - resolve(handler[operation](o, ...opArgs, returnedP)); + try { + resolve(handler[operation](o, ...opArgs, returnedP)); + } catch (reason) { + reject(reason); + } raceIsOver = true; }