0Pricing
Dart Academy · Leçon

Gestion des erreurs dans le code asynchrone

Utiliser try/catch avec await en toute sécurité

Gestion des erreurs dans le code asynchrone est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Dart Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Dart Academy comprend 4 leçons au total.

Les Futures peuvent échouer

Le travail asynchrone peut mal tourner : un serveur dépasse le délai d'attente ou un fichier est introuvable. Un Future peut se terminer par une erreur plutôt que par une valeur.

try et catch avec await

Placez un await dans try/catch : un Future en échec lance alors l'erreur exactement à cette ligne, comme une erreur synchrone ordinaire.

try {
  final data = await fetch();
} catch (e) {
  print("failed: $e");
}

Intercepter des types précis

Utilisez une clause on pour traiter précisément un type d'erreur tout en laissant les autres échecs remonter sans modification.

try {
  await load();
} on TimeoutException {
  print("too slow");
}

Examiner l'erreur

Ajoutez catch (e, s) pour récupérer à la fois l'objet d'erreur et sa trace de pile, ce qui facilite grandement le débogage des échecs asynchrones.

catch (e, s) {
  print(e);
  print(s);
}

finally s'exécute toujours

Un bloc finally s'exécute que await ait réussi ou lancé une exception ; c'est donc l'endroit idéal pour fermer les fichiers ou arrêter les indicateurs de chargement.

try {
  await save();
} finally {
  closeFile();
}

Lancer une exception depuis async

Lancez une exception avec throw dans une fonction async : le Future renvoyé se termine simplement avec cette erreur, prête à être interceptée par l'appelant.

Future<int> risky() async {
  throw StateError("nope");
}

Erreurs dans les chaînes then

Sans await, associez catchError à un Future pour traiter un échec dans une chaîne de type then.

fetch().then(use).catchError(handle);

Récupérer avec une valeur par défaut

Dans catchError ou catch, vous pouvez renvoyer une valeur de secours, ce qui permet à votre programme de continuer correctement après un échec.

Erreurs de Future non interceptées

Un Future en échec ignoré devient une erreur non interceptée qui peut provoquer un plantage ou générer des journaux très visibles. Interceptez ou attendez toujours vos Futures.

Relancer si nécessaire

Utilisez rethrow dans un catch pour consigner l'échec ici tout en permettant à un gestionnaire externe de le traiter également.

catch (e) {
  log(e);
  rethrow;
}

await dans finally

Vous pouvez même utiliser await dans finally pour effectuer le nettoyage asynchrone, par exemple vider un tampon, avant le retour de la fonction.

Vérification rapide

Vérification rapide de l'interception des erreurs asynchrones.

Récapitulatif : les erreurs asynchrones

Vous avez appris à protéger await avec try/catch, à cibler les types avec on, à nettoyer dans finally et à récupérer ou relancer les erreurs. 🛡️

Questions Fréquemment Posées

La leçon « Gestion des erreurs dans le code asynchrone » est-elle gratuite ?

Oui — le texte complet de « Gestion des erreurs dans le code asynchrone » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Dart Academy, passe à CoddyKit PRO. Le cours Dart Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Gestion des erreurs dans le code asynchrone » ?

Utiliser try/catch avec await en toute sécurité Tu pratiques Dart Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Dart Academy ?

Aucune expérience préalable n'est requise. Dart Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Gestion des erreurs dans le code asynchrone » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Dart Academy ?

Oui. Chaque leçon Dart Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Boucle d’événements et microtâches
  2. Créer et attendre des Futures
  3. Gestion des erreurs dans le code asynchrone
  4. Future.wait et travail parallèle
← Retour à Dart Academy