Propager les échecs avec try
Faites remonter les erreurs avec un seul mot-clé.
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. ✅
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
- Ensembles d'erreurs et union !T
- Renvoyer des erreurs depuis des fonctions
- Propager les échecs avec try
- Ensembles d'erreurs déduits