web-dev-qa-db-fra.com

Dart / Flutter - Le débogueur s'arrête sur des exceptions attrapées

Dans un bloc de code relativement simple qui vérifie un point d'extrémité de l'API (détermination de l'état de connexion), je compte sur un try..catch Comme le mécanisme de validation si l'application peut communiquer avec le serveur.

Le problème que je vais avoir est que, tout en débogage, le débogueur s'arrête toujours sur la ligne de connexion (lorsque la demande est hors ligne), même si je gère les erreurs interne.

  Future<bool> isOnline() async {
    try {
      // VSCode debugger always stops on this line when no connection
      await http
          .get('${consts.apiBaseUrl}/api/ping')
          .timeout(Duration(seconds: normalTimeoutLength))
          .catchError(
        (_) {
          // Trying catchError on the Future
          _isOnline = false;
          return false;
        },
      );
      _isOnline = true;
      return true;
    } on HttpException catch (_) {
      // Trying to catch HTTP Exceptions
      _isOnline = false;
      return false;
    } on SocketException catch (_) {
      // Trying to catch Socket Exceptions
      _isOnline = false;
      return false;
    }
  }
10
TheGeekZn

Voici une image supplémentaire (code vs) à la réponse de Danny:

enter image description here

0
Suragch