首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法处理SocketException

无法处理SocketException
EN

Stack Overflow用户
提问于 2020-04-17 20:10:42
回答 1查看 23关注 0票数 0

我已经关闭了手机以触发SocketException错误。我进行了api调用,在堆栈的顶部,就在await调用之前,我的调试器上可以看到错误。我想在UI层处理这个错误。在调用堆栈的底部,我看到了getData方法。我的理解是:我可以将它包装在try/catch中并处理异常。但是我似乎不能理解这个错误..下面是方法:

代码语言:javascript
复制
Future<String> getData(String query) async {
    try {
      List<Suburb> suburbs = await model.getSuburbs('au', query);

      if (suburbs.length == 1) {
        suburbCode = suburbs[0].code;
        isButtonDisabled = false;
        return suburbs[0].name;
      }
      return showDialog<String>(
          barrierDismissible: false,
          context: context,
          builder: (context) => SimpleDialog(
                backgroundColor: Colors.black,
                title: Text('Please choose your Suburb:'),
                children: suburbs
                    .map((suburb) => SimpleDialogOption(
                        child: Text(suburb.name),
                        onPressed: () {
                          suburbCode = suburb.code;
                          isButtonDisabled = false;

                          Navigator.of(context).pop(suburb.name);
                        }))
                    .toList(),
              ));
    } on SocketException catch (e) {
      print(e);
    }
  }

List<Suburb> suburbs = await model.getSuburbs('au', query);是我进行api调用的地方,也是调试器指向的地方。但我似乎不能“进入catch积木”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-17 22:16:46

在Http post/get调用中也需要try-catch块。因此,只要在getSuburbs()中捕获套接字异常,执行必要的操作,并在需要时从那里抛出一个通用异常。类似于下面的代码将会起作用:

代码语言:javascript
复制
Future<string> getSuburbs(string country, string query){
    try {
        http.Response response =
            await http.post(.........
      } on SocketException catch (e) {
        print(e);
        throw Error.noNetworkConnection;
      } catch (e) {
        print(e);
        throw Error.unknown;
      }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61271330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档