Use this library in your Dart programs (Flutter, command-line and (TBD) AngularDart) to report errors thrown by your program to https://sentry.io error tracking service.
>=0.0.0 <2.0.0
is the range of versions compatible with Dart 1.
>=2.0.0 <3.0.0
is the range of versions compatible with Dart 2.
Sign up for a Sentry.io account and get a DSN at http://sentry.io.
Add sentry
dependency to your pubspec.yaml
:
dependencies:
sentry: any
In your Dart code, import package:sentry/sentry.dart
and create a SentryClient
using the DSN issued by Sentry.io:
import 'package:sentry/sentry.dart';
final SentryClient sentry = new SentryClient(dsn: YOUR_DSN);
In an exception handler, call captureException()
:
main() async {
try {
doSomethingThatMightThrowAnError();
} catch(error, stackTrace) {
await sentry.captureException(
exception: error,
stackTrace: stackTrace,
);
}
}
- use a
try/catch
block - create a
Zone
with an error handler, e.g. using runZoned - in Flutter, use FlutterError.onError
- use
Isolate.current.addErrorListener
to capture uncaught errors in the root zone
Please file it at https://github.com/flutter/flutter/issues/new