


# proxyError method








void proxyError
(String message)





<p>Complete the <a href="../../package-fidl_fidl/ProxyController/error.md">error</a> future with the given message.</p>



## Implementation

```dart
void proxyError(String message) {
  final fullMessage =
      'Error in proxy with interface name [${$interfaceName}] and '
      'service name [${$serviceName}]: $message';
  print(fullMessage);
  if (!_errorCompleter.isCompleted) {
    error.whenComplete(() {
      _errorCompleter = Completer<ProxyError>();
    });
    _errorCompleter.complete(ProxyError(fullMessage));
  }
}
```







