Index: pkg/unittest/lib/src/core_matchers.dart |
diff --git a/pkg/unittest/lib/src/core_matchers.dart b/pkg/unittest/lib/src/core_matchers.dart |
index 1a8143c7a21ce115188c5fae0e9331d22c4c1595..e8606aa45dd4c431ecafafe7e229a18d1d83aac9 100644 |
--- a/pkg/unittest/lib/src/core_matchers.dart |
+++ b/pkg/unittest/lib/src/core_matchers.dart |
@@ -326,16 +326,17 @@ class Throws extends BaseMatcher { |
// completes. |
item.then((value) { |
done(() => fail("Expected future to fail, but succeeded with '$value'.")); |
- }, onError: (e) { |
+ }, onError: (error) { |
done(() { |
if (_matcher == null) return; |
var reason; |
- if (e.stackTrace != null) { |
- var stackTrace = e.stackTrace.toString(); |
+ var trace = getAttachedStackTrace(error); |
+ if (trace != null) { |
+ var stackTrace = trace.toString(); |
stackTrace = " ${stackTrace.replaceAll("\n", "\n ")}"; |
reason = "Actual exception trace:\n$stackTrace"; |
} |
- expect(e.error, _matcher, reason: reason); |
+ expect(error, _matcher, reason: reason); |
}); |
}); |
// It hasn't failed yet. |