On this page, we get you up and running with Sentry's Dart SDK.

If you don't already have an account and Sentry project established, head over to sentry.io, then return to this page.

Sentry captures data by using an SDK within your application's runtime.

  sentry: ^8.3.0

To capture all errors, initialize the Sentry Dart SDK as soon as possible.

import 'package:sentry/sentry.dart';

Future<void> main() async {
  await Sentry.init((options) {
    options.dsn = 'https://examplePublicKey@o0.ingest.sentry.io/0';
    // Set tracesSampleRate to 1.0 to capture 100% of transactions for tracing.
    // We recommend adjusting this value in production.
    options.tracesSampleRate = 1.0;

  // you can also configure SENTRY_DSN, SENTRY_RELEASE, SENTRY_DIST, and
  // SENTRY_ENVIRONMENT via Dart environment variable (--dart-define)

Verify that your app is sending events to Sentry by adding the following snippet, which includes an intentional error. You should see the error reported in Sentry within a few minutes.

import 'package:sentry/sentry.dart';

try {
} catch (exception, stackTrace) {
  await Sentry.captureException(
    stackTrace: stackTrace,

Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").