繁体   English   中英

在 Flutter 中捕获未处理的异常

[英]Catching unhandled exception in Flutter

我试图在我的 Flutter 应用程序中捕获所有未处理的异常。 这是我的 main.dart:

void main() async {
  FlutterError.onError = (FlutterErrorDetails details) {
    print("FlutterError.onError");
  };

  try {
    runZoned<Future<void>>(
      () async {
        runApp(App());
      },
      onError: (dynamic error, StackTrace stackTrace) {
        print("runZoned.onError");
      },
    );
  } catch (ex) {
    print("main.catch");
  }
}

...但是,这些方法都不起作用,我的应用程序在 iOS 模拟器中运行时输出以下内容:

[VERBOSE-2:ui_dart_state.cc(166)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 61, address = localhost, port = 57562

...我如何捕捉这个异常?

好的,我已经解决了这个问题。 我的一些初始化逻辑在runZoned块之外。 我错误地认为runZoned中所需要的runZonedrunApp的调用。 我已将所有内容都放在runZoned ,现在它可以正确地捕获错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM