Index: sdk/lib/_internal/js_runtime/lib/async_patch.dart |
diff --git a/sdk/lib/_internal/js_runtime/lib/async_patch.dart b/sdk/lib/_internal/js_runtime/lib/async_patch.dart |
index c57b3d2be0819541eec1420696df3ba552fed7a8..4d91d7948c31ceb37b515b2a04f3641619b5f5cb 100644 |
--- a/sdk/lib/_internal/js_runtime/lib/async_patch.dart |
+++ b/sdk/lib/_internal/js_runtime/lib/async_patch.dart |
@@ -11,6 +11,7 @@ import 'dart:_js_helper' show |
convertDartClosureToJS, |
getTraceFromException, |
requiresPreamble, |
+ wrapException, |
unwrapException; |
import 'dart:_isolate_helper' show |
IsolateNatives, |
@@ -518,5 +519,7 @@ class _SyncStarIterable extends IterableBase { |
@patch |
void _rethrow(Object error, StackTrace stackTrace) { |
- throw new AsyncError(error, stackTrace); |
+ error = wrapException(error); |
+ JS("void", "#.stack = #", error, stackTrace.toString()); |
+ JS("void", "throw #", error); |
} |