diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart index 4c1b68eafd5..1ec55bfe84a 100644 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart +++ b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart @@ -386,8 +386,7 @@ mixin _PropertyInputMixin on State { final succeeded = errorResponse == null || errorResponse.success; if (!succeeded) { setState(() { - _serverError = - '${errorResponse.errorType?.message ?? 'Encountered unknown error.'} (Property: ${property.name})'; + _serverError = _errorMessage(errorResponse, property: property); }); ga.reportError('property-editor $_serverError'); } @@ -400,4 +399,20 @@ mixin _PropertyInputMixin on State { ), ); } + + String _errorMessage( + EditArgumentResponse errorResponse, { + required EditableProperty property, + }) { + final errorType = errorResponse.errorType; + final messageFromType = errorType?.message; + final messageFromResponse = errorResponse.errorMessage; + final errorMessage = + (messageFromType != null && messageFromResponse != null) + ? '$messageFromType / $messageFromResponse' + : messageFromType ?? messageFromResponse ?? 'Unknown error.'; + final propertyInfo = '(Property: ${property.name})'; + final errorCode = errorType?.code != null ? '${errorType!.code}: ' : ''; + return '$errorCode$errorMessage $propertyInfo'; + } }