簡體   English   中英

未處理的異常:SocketException flutter

[英]Unhandled Exception: SocketException flutter

目標是從 email 獲取網站。 我想在 try Catch 語句中捕獲 Socket 異常,但是沒有捕獲到以下錯誤並且沒有打印語句。

[VERBOSE-2:ui_dart_state.cc(177)] 未處理的異常:SocketException:主機查找失敗:'subdomain.domain.com'(操作系統錯誤:提供節點名或服務名,或未知,errno = 8)。

按照此處此處的 flutter 文檔

這是我的代碼。

import 'package:http/http.dart' as http;

Future<void> getWebsite(email) async {
    try {
      // get domain from email
      String _dom = new RegExp(r"(?<=[@]).+").stringMatch(email);
      // Get response status code from url
      final response = await http.get("https://$_dom");
      // Set Domain
      response.statusCode == 200 ? setDomain("https://$_dom") : setDomain(null);
    } on SocketException catch (_) {
      print("socket error");
    } on HttpException catch (_) {
      print("http error");
    } on FormatException catch (_) {
      print("format exception");
    } catch (e) {
      print("any exception");
    }
}

這是 flutter 醫生 -v 的結果

[✓] Flutter(通道主機,1.22.0-10.0.pre.153,在 Mac OS X 10.15.5 19F101 上,語言環境 en-US) • Flutter 版本 1.22.0-10.0.pre.153 在 /sUserpre.0//sean。開發人員/顫振 • 框架修訂版 2e643651a9(4 個月前),2020-09-11 23:07:03 -0400 • 引擎修訂版 16b900b63e • Dart 版本 2.10.0(內部版本 2.10.0-117.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0-rc1) • Android SDK at /Users/sean/Library/Android/sdk • Platform android-29, build-tools 30.0.0-rc1 • Java二進制文件位於:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java 版本 OpenJDK 運行時環境(內部版本 1.8.0_212-release-1586-b4-5784211) • 接受所有 ZE84E30B9390CDB64DB6DB2C9AB8 許可證。

[✓] Xcode - develop for iOS and macOS (Xcode 11.3) • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 11.3, Build version 11C29 • CocoaPods version 1.9.1

[✓] Android Studio (version 3.6) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin version 45.1.1 • Dart plugin version 192.7761 • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586- b4-5784211)

[✓] VS Code(版本 1.52.1) • /Applications/Visual Studio Code.app/Contents 中的 VS Code • Flutter 擴展版本 3.18.0

[✓] 連接設備(1 個可用)
• iPhone 11 Pro(移動) • E280A6FB-4AF7-4409-B79E-FA4E652C4FE0 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-3(模擬器)

• 未發現任何問題!

這是我在控制台中看到的

Launching lib/main.dart on iPhone 11 Pro in debug mode...
Running pod install...
Running Xcode build...
Xcode build done.                                           552.8s
Waiting for iPhone 11 Pro to report its views...
Debug service listening on ws://127.0.0.1:58043/ZgdnQH-v_BY=/ws
Syncing files to device iPhone 11 Pro...
[VERBOSE-2:ui_dart_state.cc(177)] Unhandled Exception: SocketException: Failed host lookup: 'av.abbott.com' (OS Error: nodename nor servname provided, or not known, errno = 8)
#0      _NativeSocket.lookup.<anonymous closure> (dart:io-patch/socket_patch.dart:502:9)
#1      _rootRunUnary (dart:async/zone.dart:1198:47)
#2      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#3      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#4      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#5      Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#6      Future._completeWithValue (dart:async/future_impl.dart:529:5)
#7      Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:567:7)
#8      _rootRun (dart:async/zone.dart:1190:13)
#9      _CustomZone.run (dart:async/zone.dart:1093:19)
#10     _CustomZone.runGuarded (dart:async/zone.dart:997:7)
#11     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:as<…>

我更改為解決問題的穩定頻道。

https://flutter.dev/docs/development/tools/sdk/upgrading#switching-flutter-channels

flutter通道穩定

flutter升級

當用戶連接互聯網或速度慢或關閉時,會出現此異常。 所以請檢查設備連接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM