Flutter SocketException网络无法访问,无法捕获

时间:2020-07-02 20:31:22

标签: flutter exception dart networking timeout

我正在尝试检查系统是否在线。如果请求花费的时间超过10秒,那么还会发生超时。

问题:

当我断开电话与互联网的连接时,我将在下面得到异常消息。该应用程序崩溃并在第二行显示异常(等待get(...))。

当我删除.timeout()函数时,下面的SocketException将显示在捕获中-然后该应用程序不会崩溃。

现在的问题:

当具有超时功能且无法访问Internet时,为什么SocketException无法捕获。

try {
  Response response = await get('http://mydomain.de/onlineCheck', headers: {
    "Accept": "application/json"
  }).timeout(Duration(seconds: 10));
} catch (e) {
  print(e.toString());
}

SocketException(SocketException:操作系统错误:网络无法访问,errno = 101,地址= mydomain.de,端口= 34760)

0 个答案:

没有答案