簡體   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