Zig Academy · Leçon

Propager les échecs avec try

Faites remonter les erreurs avec un seul mot-clé.

Leçon 3 sur 413 étapes

Propager les échecs avec try est une leçon Zig 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 Zig Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Zig Academy comprend 4 leçons au total.

La gestion devient répétitive

Écrire un if-else autour de chaque appel susceptible d’échouer pour transmettre son erreur devient vite verbeux. Zig propose un raccourci : le mot-clé try.

try déballe ou renvoie

Placez try devant un appel susceptible d’échouer. En cas de réussite, il vous donne la valeur ; en cas d’erreur, il renvoie cette erreur depuis votre fonction actuelle.

const n = try parse(input);

C’est du simple sucre syntaxique

Cette ligne produit exactement le même résultat que si vous capturiez l’erreur et la renvoyiez vous-même. try écrit simplement le code répétitif à votre place.

const n = parse(input) catch |e| return e;

Votre fonction doit pouvoir échouer

Comme try peut renvoyer une erreur, la fonction qui l’englobe doit avoir un type de retour formant une union avec erreurs. Sinon, le compilateur le refuse.

fn run() !void {
    const n = try parse(input);
}

Enchaîner plusieurs try

Placez plusieurs appels à try à la suite. Chacun arrête rapidement la fonction en cas d’échec, de sorte que le chemin de réussite se lit de haut en bas.

const f = try open(path);
const data = try read(f);

try au milieu des expressions

Vous pouvez placer try directement dans une expression plus grande. La valeur déballée est transmise directement à l’appel ou au calcul qui l’entoure.

const total = base + try parse(input);

try avec les appels void

Même lorsqu’un appel renvoie !void, utilisez try pour transmettre tout échec. Vous ne récupérez aucune valeur, seulement le retour anticipé en cas d’erreur.

try file.writeAll(data);

Les erreurs remontent la pile

Avec try à chaque niveau, un échec profond se propage jusqu’en haut, jusqu’à ce qu’un appelant décide enfin de le gérer.

Un chemin de réussite lisible

Le principal avantage est la clarté : la transmission des erreurs se réduit à un mot-clé, et la logique principale reste au premier plan.

try ne gère pas les erreurs

Souvenez-vous que try ne fait que transmettre une erreur ; il ne la récupère jamais. Pour réagir localement, utilisez plutôt catch.

Quand transmettre l’erreur

Utilisez try lorsque la bonne décision consiste à laisser l’appelant gérer l’échec. La plupart des fonctions intermédiaires transmettent simplement les erreurs vers le haut.

Vérification rapide

Vous écrivez try doThing() dans une fonction. Que se passe-t-il si doThing renvoie une erreur ?

Récapitulatif

Vous avez appris que try déballe la valeur en cas de réussite et renvoie l’erreur dans le cas contraire. C’est un raccourci pour capturer et transmettre l’erreur, ce qui garde le code clair. ✅

Gratuit pour commencer

Apprends Zig avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Propager les échecs avec try » est-elle gratuite ?

Oui — le texte complet de « Propager les échecs avec try » 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 Zig Academy, passe à CoddyKit PRO. Le cours Zig Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Propager les échecs avec try » ?

Faites remonter les erreurs avec un seul mot-clé. Tu pratiques Zig 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 Zig Academy ?

Aucune expérience préalable n'est requise. Zig 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 « Propager les échecs avec try » ?

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 Zig Academy ?

Oui. Chaque leçon Zig 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. Ensembles d'erreurs et union !T
  2. Renvoyer des erreurs depuis des fonctions
  3. Propager les échecs avec try
  4. Ensembles d'erreurs déduits
← Retour à Zig Academy