toString method

  1. @override
String toString()
override

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Implementation

@override
String toString() {
  final buffer = StringBuffer('RemoteMismatchException: $message\n');

  if (missingOnWorker.isNotEmpty) {
    buffer.writeln(
        '\nHandlers registered on main thread but missing on worker:');
    for (final id in missingOnWorker) {
      buffer.writeln('  - $id');
      buffer.writeln(
          '    Add: ${_capitalize(id)}WorkerHandler() to worker setup');
    }
  }

  if (missingOnMain.isNotEmpty) {
    buffer.writeln(
        '\nHandlers registered on worker but missing on main thread:');
    for (final id in missingOnMain) {
      buffer.writeln('  - $id');
      buffer.writeln(
          '    Add: ${_capitalize(id)}MainHandler() to remotes list');
    }
  }

  return buffer.toString();
}