install static method
Подключает глобальные хендлеры. Вызывайте один раз после WidgetsFlutterBinding.ensureInitialized в той же зоне, что и runApp (см. runAppInZone).
Implementation
static void install({
required NexoLogger logger,
NexoCrashReporter? crashReporter,
}) {
assert(!_installed, 'NexoFlutterErrors.install: already installed');
_installed = true;
_logger = logger;
_crashReporter = crashReporter;
_previousFlutterOnError = FlutterError.onError;
FlutterError.onError = (FlutterErrorDetails details) {
_report(details.exception, details.stack ?? StackTrace.current);
final prev = _previousFlutterOnError;
if (prev != null) {
prev(details);
} else {
FlutterError.presentError(details);
}
};
_previousPlatformOnError = PlatformDispatcher.instance.onError;
PlatformDispatcher.instance.onError = (Object error, StackTrace stack) {
_report(error, stack);
final prev = _previousPlatformOnError;
if (prev != null) {
return prev(error, stack);
}
return false;
};
}