如何防止颤振应用程序在 Dio 错误后崩溃?

Posted

技术标签:

【中文标题】如何防止颤振应用程序在 Dio 错误后崩溃?【英文标题】:How to prevent flutter app from crashing after Dio error? 【发布时间】:2020-07-24 20:25:40 【问题描述】:

我正在使用flutter-dio 包发出 HTTP 请求,并在我方便的情况下对其进行了包装

  Future<dynamic> post(String uri, dynamic body, String authKeyCust) async 
    authKey = await SecureStorage.getAuthKey();
    try 
      Response response = await dio.post(
        uri,
        data: body,
        options: Options(headers: "authkey": authKeyCust ?? "$authKey"),
      );
      return response.data;
     on DioError catch (error) 
      print('error: $error');
     on SocketException catch(error) 
      print('No net');
    
  

我想要的只是应用程序在发生任何错误时不会因异常而崩溃/暂停

【问题讨论】:

我不明白,你的问题是什么? @woprandi 每当出现异常时,即使我发现错误,调试器也会停止应用程序 在此处发布您的代码 【参考方案1】:

我也遇到了同样的问题。

首先,尝试在命令提示符下使用flutter run 运行它,看看是否出现任何问题。

如果命令提示符显示没有问题并且您的应用程序运行顺利,那么您必须检查 IDE。如果您使用的是 VSCode,则切换到 Debug is side bar,查看在 Breakpoint 部分中勾选了哪些选项。 如果All Exceptions 被勾选,那么调试器将在每次异常时暂停。取消选中 All ExceptionsUncaught Exceptions 然后尝试刷新重启。

希望这能解决您的问题。

【讨论】:

以上是关于如何防止颤振应用程序在 Dio 错误后崩溃?的主要内容,如果未能解决你的问题,请参考以下文章

Qt关闭QMainWindow后如何防止崩溃?

颤振无法从 api 获取数据,dio 错误

如何防止应用程序/游戏在一段时间后恢复时崩溃

如何防止错误输入导致应用程序崩溃。 Python、HTML 和 CSS

如何设置一个基本 URL 以及在哪里为 api 调用在颤振 dio 中声明它?

400 错误时无法获取数据。在颤振中