installFlutterErrorHandlers method
void
installFlutterErrorHandlers({
- bool remoteReportingEnabled = kReleaseMode,
- MeshErrorMessageResolver? messageResolver,
Implementation
void installFlutterErrorHandlers({
bool remoteReportingEnabled = kReleaseMode,
MeshErrorMessageResolver? messageResolver,
}) {
configure(
remoteReportingEnabled: remoteReportingEnabled,
messageResolver: messageResolver,
);
if (_installed) {
return;
}
_installed = true;
final previousFlutterError = FlutterError.onError;
FlutterError.onError = (details) {
previousFlutterError?.call(details);
FlutterError.presentError(details);
unawaited(
report(
details.exception,
details.stack ?? StackTrace.current,
category: 'flutter.framework',
fatal: true,
message: details.context?.toDescription(),
metadata: <String, String>{
if (details.library?.isNotEmpty ?? false)
'library': details.library!,
},
),
);
};
final previousPlatformError = PlatformDispatcher.instance.onError;
PlatformDispatcher.instance.onError = (error, stackTrace) {
unawaited(
report(
error,
stackTrace,
category: 'flutter.platform',
fatal: true,
),
);
return previousPlatformError?.call(error, stackTrace) ?? true;
};
}