unhandled_error_reporter 1.0.3 copy "unhandled_error_reporter: ^1.0.3" to clipboard
unhandled_error_reporter: ^1.0.3 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/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);
    print("Remote Monitor");
  }
}

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  final remoteReporter = RemoteReporter();
  final riskLevelDeterminer = RiskLevelDeterminer();
  final errorCapture = ErrorCapture(remoteReporter, riskLevelDeterminer);
  await errorCapture.init();
  runZonedGuarded(() {
    WidgetsFlutterBinding.ensureInitialized();
    FlutterError.onError = errorCapture.handleFlutterError;
    runApp(MyApp());
  }, errorCapture.handleAsyncDartError);
}

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
130
points
84
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)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

cupertino_icons, device_info_plus, flutter, package_info_plus

More

Packages that depend on unhandled_error_reporter