Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(926)

Unified Diff: src/promise.js

Issue 249503002: Trigger debug event on not yet caught exception in promises. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698