unhandled_error_reporter 1.0.5 copy "unhandled_error_reporter: ^1.0.5" to clipboard
unhandled_error_reporter: ^1.0.5 copied to clipboard

Report Any unhandled exception/error/failure to backend service as [ stacktrace, Device information, Risk level of this error ].

example/main.dart

import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:unhandled_error_reporter/unhandled_error_reporter.dart';

class Failure {}

class UnExpectedFailure extends Failure {}

class RiskLevelDeterminer implements IRiskLevelDeterminer {
  @override
  RiskLevel determine(ErrorDto error) {
    if (error.errorObject is UnExpectedFailure) {
      return RiskLevel.high;
    }
    return RiskLevel.low;
  }
}

class RemoteReporter extends IRemoteReporter {
  @override
  Future<void> report(UnhandledError error) async {
    super.report(error);
  }
}

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  final errorCapture = ErrorCapture(RemoteReporter(), RiskLevelDeterminer());
  await errorCapture.init();
  FlutterError.onError = errorCapture.handleFlutterError;
  PlatformDispatcher.instance.onError = (error, stack) {
    errorCapture.handleAsyncDartError(error, stack);
    return true;
  };
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  void throwError() {
    throw UnExpectedFailure();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      floatingActionButton: FloatingActionButton(onPressed: throwError),
    ));
  }
}
6
likes
120
points
71
downloads

Publisher

unverified uploader

Weekly Downloads

Report Any unhandled exception/error/failure to backend service as [ stacktrace, Device information, Risk level of this error ].

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

cupertino_icons, device_info_plus, flutter, flutter_jailbreak_detection, package_info_plus, stack_trace

More

Packages that depend on unhandled_error_reporter