Index: src/promise.js |
diff --git a/src/promise.js b/src/promise.js |
index 27890a7626b37d12af837e73627617d6a94da4f2..cdde4b35076ddc94eef399961703aa2b3e84d6dd 100644 |
--- a/src/promise.js |
+++ b/src/promise.js |
@@ -192,8 +192,14 @@ function PromiseHandle(value, handler, deferred) { |
else |
deferred.resolve(result); |
} catch(e) { |
- // TODO(rossberg): perhaps log uncaught exceptions below. |
- try { deferred.reject(e) } catch(e) {} |
+ if (GET_PRIVATE(promise, promiseOnReject).length == 0) { |
+ // There is no reject handler defined (yet). The debugger should know. |
+ %DebugPendingExceptionInPromise(e, promise); |
+ } |
+ try { deferred.reject(e) } catch(e) { |
+ // Reject handler threw (must be a custom one). |
rossberg
2014/04/24 07:27:36
"must have been"
|
+ %DebugPendingExceptionInPromise(e, promise); |
+ } |
} |
} |