diff --git a/packages/flutter/lib/src/foundation/assertions.dart b/packages/flutter/lib/src/foundation/assertions.dart index e6ee1f9eec..ab61f529fe 100644 --- a/packages/flutter/lib/src/foundation/assertions.dart +++ b/packages/flutter/lib/src/foundation/assertions.dart @@ -411,7 +411,7 @@ class FlutterErrorDetails extends Diagnosticable { String message = exceptionAsString(); if (message.startsWith(prefix)) message = message.substring(prefix.length); - properties.add(ErrorDescription('$message')); + properties.add(ErrorSummary('$message')); } } diff --git a/packages/flutter/test/foundation/assertions_test.dart b/packages/flutter/test/foundation/assertions_test.dart index 4e834f36b7..821d11f666 100644 --- a/packages/flutter/test/foundation/assertions_test.dart +++ b/packages/flutter/test/foundation/assertions_test.dart @@ -328,4 +328,28 @@ void main() { ); } }); + + test('User-thrown exceptions have ErrorSummary properties', () { + { + DiagnosticsNode node; + try { + throw 'User thrown string'; + } catch (e) { + node = FlutterErrorDetails(exception: e).toDiagnosticsNode(); + } + final ErrorSummary summary = node.getProperties().whereType().single; + expect(summary.value, equals(['User thrown string'])); + } + + { + DiagnosticsNode node; + try { + throw ArgumentError.notNull('myArgument'); + } catch (e) { + node = FlutterErrorDetails(exception: e).toDiagnosticsNode(); + } + final ErrorSummary summary = node.getProperties().whereType().single; + expect(summary.value, equals(['Invalid argument(s) (myArgument): Must not be null'])); + } + }); }