美文网首页
flutter异步请求数据,抛出异常灰屏问题

flutter异步请求数据,抛出异常灰屏问题

作者: 道翼 | 来源:发表于2022-06-16 17:46 被阅读0次

    项目需要,自定义data返回的数据code为500,500接收到要有弹窗提示

    异步请求数据时,出现弹窗出现,但灰屏现象,报错位置猜测为弹窗和抛出异常

    try {
          if(response.data.data['code'] == '500'){
            throw new Exception('这是一个异常');
          }
          return response.data;
    } catch (e, r) {
          EasyLoading.showError(e.toString());
          LogUtil.error('网络请求错误:  错误信息-${e.toString()}');
          throw e;
    }
    

    修改后

    try {
          if(response.data.data['code'] == '500'){
            // throw StateError('数据错误!');
            await Future.delayed(Duration(seconds: 1)).then(
                    (e) => throw StateError('这是一个异常'));
          }
          return response.data;
    } catch (e, r) {
          EasyLoading.showError(e.toString());
          LogUtil.error('网络请求错误:  错误信息-${e.toString()}');
          // throw e;
          return Future.error('解析响应数据异常2');
    }
    

    修改原因是这是异步请求,try、catch里面的写法是异步变为同步后捕获

    链接:flutter异常处理

    相关文章

      网友评论

          本文标题:flutter异步请求数据,抛出异常灰屏问题

          本文链接:https://www.haomeiwen.com/subject/ccuqvrtx.html