Récupérer avec catch
Fournissez une solution de repli lorsqu'une erreur survient.
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. ✅
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
- Récupérer avec catch
- Sélectionner selon des erreurs précises
- errdefer pour nettoyer après un échec
- Envelopper et relancer des erreurs