captureException method

  1. @override
Future<void> captureException({
  1. required Object error,
  2. StackTrace? stackTrace,
  3. Map<String, Object>? properties,
})

Implementation

@override
Future<void> captureException({
  required Object error,
  StackTrace? stackTrace,
  Map<String, Object>? properties,
}) async {
  try {
    final exceptionData = DartExceptionProcessor.processException(
      error: error,
      stackTrace: stackTrace,
      properties: properties,
      inAppIncludes: _config?.errorTrackingConfig.inAppIncludes,
      inAppExcludes: _config?.errorTrackingConfig.inAppExcludes,
      inAppByDefault: _config?.errorTrackingConfig.inAppByDefault ?? true,
    );

    final normalizedData = PropertyNormalizer.normalize(
      exceptionData.cast<String, Object>(),
    );

    return handleWebMethodCall(
      MethodCall('captureException', {'properties': normalizedData}),
    );
  } on Exception catch (exception) {
    printIfDebug('Exception in captureException: $exception');
  }
}