Zig Academy · Leçon

Récupérer avec catch

Fournissez une solution de repli lorsqu'une erreur survient.

Leçon 1 sur 413 étapes

Récupérer avec catch est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 1 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.

Les erreurs exigent un plan

Une fonction peut renvoyer une union d’erreurs comme !u32. Avant d’utiliser le résultat, vous devez décider de ce qui se passe sur le chemin d’échec.

Découvrez catch

L’opérateur catch transforme une union d’erreurs en valeur ordinaire en fournissant une valeur de repli à utiliser chaque fois que l’appel renvoie une erreur.

const n = parse(text) catch 0;

La valeur de repli remplace l’erreur

Si l’appel réussit, vous obtenez la vraie valeur. S’il renvoie une erreur, vous obtenez à la place le membre de droite de catch, si bien que n contient toujours un nombre utilisable.

const n = parse(text) catch -1;

catch est une expression

Comme catch produit une valeur, vous pouvez l’insérer partout où une valeur est attendue, par exemple directement dans un argument de fonction.

print(parse(text) catch 0);

Capturez l’erreur

Ajoutez une capture avec barre verticale pour examiner ce qui s’est mal passé. Le nom placé entre les barres contient la valeur d’erreur précise qui a été renvoyée.

const n = parse(text) catch |err| {
    log(err);
    return 0;
};

catch peut exécuter un bloc

Le membre de droite de catch peut être un bloc entier. Utilisez-le pour consigner une information, calculer une valeur de repli ou sortir d’une boucle avant de poursuivre.

const v = open(path) catch |e| blk: {
    break :blk fallback;
};

catch peut effectuer un retour anticipé

Vous pouvez utiliser return dans catch pour quitter la fonction lorsque la récupération est impossible. Le code qui suit ne s’exécute jamais en cas d’erreur.

const f = open(path) catch return error.MissingFile;

catch unreachable

Écrire catch unreachable affirme que l’appel ne peut pas échouer. Dans une compilation sûre, une véritable erreur provoque alors une panique au lieu d’être ignorée.

const n = parse("42") catch unreachable;

Utilisez unreachable avec prudence

N’utilisez catch unreachable que lorsqu’une erreur est réellement impossible. En cas de doute, fournissez plutôt une véritable valeur de repli.

catch contre try

Utilisez catch lorsque vous pouvez traiter l’erreur ici et maintenant. Utilisez try lorsque vous préférez transmettre l’erreur à l’appelant.

La récupération est explicite

Chaque union d’erreurs impose un choix : un échec ne peut donc jamais être abandonné silencieusement. Avec catch, vous décidez exactement comment récupérer.

Vérification rapide

Vous voulez continuer avec une valeur par défaut sûre lorsqu’un appel échoue. Quelle expression convient ?

Récapitulatif

Vous avez utilisé catch pour récupérer des erreurs avec une valeur de repli, un bloc, un retour anticipé ou une assertion. L’échec est toujours traité intentionnellement. ✅

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 « Récupérer avec catch » est-elle gratuite ?

Oui — le texte complet de « Récupérer avec catch » 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 « Récupérer avec catch » ?

Fournissez une solution de repli lorsqu'une erreur survient. 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 1 sur 4.

Combien de temps prend la leçon « Récupérer avec catch » ?

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. Récupérer avec catch
  2. Sélectionner selon des erreurs précises
  3. errdefer pour nettoyer après un échec
  4. Envelopper et relancer des erreurs
← Retour à Zig Academy