reportError method

  1. @override
Future<String?> reportError(
  1. String message,
  2. Map<String, dynamic>? data,
  3. String? stackTrace, {
  4. String? errorType,
  5. bool isCrash = false,
  6. Map<String, dynamic>? labels,
})
override

Implementation

@override
Future<String?> reportError(
    String message, Map<String, dynamic>? data, String? stackTrace,
    {String? errorType, bool isCrash = false, Map<String, dynamic>? labels}) async {
  Map<String, Object?> arguments;
  if (stackTrace != null && stackTrace.trim().isNotEmpty) {
    final parsed = CxStackTraceParser.parse(stackTrace);
    onParsedStackTrace?.call(parsed);
    arguments = {
      'message': message,
      'data': data,
      'parsedStackTrace': parsed.toMap(),
      'errorType': errorType,
      'isCrash': isCrash,
    };
  } else {
    arguments = {'message': message, 'data': data, 'errorType': errorType, 'isCrash': isCrash};
  }
  if (labels != null && labels.isNotEmpty) {
    arguments['labels'] = labels;
  }
  final version =
      await methodChannel.invokeMethod<String>('reportError', arguments);
  return version;
}