我正在尝试检查系统是否在线。如果请求花费的时间超过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)