installGlobalErrorHandler method

void installGlobalErrorHandler([
  1. bool force = false
])

Implementation

void installGlobalErrorHandler([bool force = false]) {
  if (_isInstalled && !force) {
    return;
  }

  final defaultOnError = FlutterError.onError;

  FlutterError.onError = (FlutterErrorDetails errorDetails) async {
    Object exception = errorDetails.exception;
    StackTrace? stack = errorDetails.stack;

    if (_isActive) {
      await logException(exception, false, stack);
    }

    // call original handler
    if (defaultOnError != null) {
      defaultOnError(errorDetails);
    }
  };

  _isInstalled = true;
}