我无法理解runZonedGuarded用法的crashlytics文档我到底需要不需要?https://firebase.flutter.dev/docs/crashlytics/usage/#zoned-errors
qnakjoqk1#
2023年6月答案:
不,Crashlytics不再需要runZonedGuarded了。不建议使用runZonedGuarded用于Crashlytics。你可以看到,在这个提交中,所有对runZonedGuarded的引用都被替换了:https://github.com/firebase/flutterfire/commit/8a0caa05d5abf6fef5bf0e654654dcd0b6ec874a还要注意的是,当前的官方文档中不再提到runZonedGuarded:https://firebase.google.com/docs/crashlytics/customize-crash-reports?platform=flutter推荐的方法是:
runZonedGuarded
Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); FlutterError.onError = (errorDetails) { FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails); }; // Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics PlatformDispatcher.instance.onError = (error, stack) { FirebaseCrashlytics.instance.recordError(error, stack, fatal: true); return true; }; runApp(MyApp()); }
好好享受吧!
3npbholx2#
因为不是所有的错误都能被Flutter框架捕获。例如,在按钮的onPressed处理程序中发生异常:
onPressed
ElevatedButton( onPressed: () { throw Error(); } ... )
要捕获此类错误,我们可以使用runZonedGuarded。更多信息:
2条答案
按热度按时间qnakjoqk1#
2023年6月答案:
不,Crashlytics不再需要
runZonedGuarded
了。不建议使用
runZonedGuarded
用于Crashlytics。你可以看到,在这个提交中,所有对runZonedGuarded
的引用都被替换了:https://github.com/firebase/flutterfire/commit/8a0caa05d5abf6fef5bf0e654654dcd0b6ec874a
还要注意的是,当前的官方文档中不再提到
runZonedGuarded
:https://firebase.google.com/docs/crashlytics/customize-crash-reports?platform=flutter推荐的方法是:
好好享受吧!
3npbholx2#
因为不是所有的错误都能被Flutter框架捕获。例如,在按钮的
onPressed
处理程序中发生异常:要捕获此类错误,我们可以使用
runZonedGuarded
。更多信息:
1.自定义Firebase Crashlytics崩溃报告-分区错误