Assertions

snippet.packages.flutter.lib.src.foundation.assertions.14.

  

// ignore_for_file: directives_ordering
// ignore_for_file: unnecessary_import
// ignore_for_file: unused_import
// ignore_for_file: unused_element
// ignore_for_file: unused_local_variable
import 'dart:async';
import 'dart:convert';
import 'dart:math' as math;
import 'dart:typed_data';
import 'dart:ui' as ui;
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/painting.dart';
import 'package:flutter/physics.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/semantics.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter/animation.dart';
import 'package:flutter/services.dart';

// From: packages/flutter/lib/src/foundation/assertions.dart:14
late String runtimeType;
late bool draconisAlive;
late bool draconisAmulet;
late Diagnosticable draconis;
void methodThatMayThrow() { }
void main() {
  try {
    // Try to do something!
  } catch (error) {
    // Catch & report error.
    FlutterError.reportError(FlutterErrorDetails(
      exception: error,
      library: 'Flutter test framework',
      context: ErrorSummary('while running async test code'),
    ));
  }
}
void maybeDoSomething() {
  try {
    // Try to do something!
  } catch (error) {
    // Catch & report error.
    FlutterError.reportError(FlutterErrorDetails(
      exception: error,
      library: 'Flutter test framework',
      context: ErrorDescription('while dispatching notifications for $runtimeType'),
    ));
  }
}
void climbElevator(int pid) {
  try {
    // ...
  } catch (error, stack) {
    FlutterError.reportError(FlutterErrorDetails(
      exception: error,
      stack: stack,
      informationCollector: () => [
        ErrorDescription('This happened while climbing the space elevator.'),
        ErrorHint('The process ID is: $pid'),
      ],
    ));
  }
}
void controlDraconis() {
  assert(() {
    if (!draconisAlive || !draconisAmulet) {
      throw FlutterError.fromParts([
        ErrorSummary('Cannot control Draconis in current state.'),
        ErrorDescription('Draconis can only be controlled while alive and while the amulet is wielded.'),
        if (!draconisAlive)
          ErrorHint('Draconis is currently not alive.'),
        if (!draconisAmulet)
          ErrorHint('The Amulet of Draconis is currently not wielded.'),
        draconis.toDiagnosticsNode(name: 'Draconis'),
      ]);
    }
    return true;
  }());
  // ...
}
@pragma('vm:notify-debugger-on-exception')
void doSomething() {
  try {
    methodThatMayThrow();
  } catch (exception, stack) {
    FlutterError.reportError(FlutterErrorDetails(
      exception: exception,
      stack: stack,
      library: 'example library',
      context: ErrorDescription('while doing something'),
    ));
  }
}
  

SHARE: