Zig Academy · Leçon

Sélectionner selon des erreurs précises

Créez une branche selon l'erreur renvoyée.

Leçon 2 sur 413 étapes

Sélectionner selon des erreurs précises est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 2 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.

Toutes les erreurs ne se valent pas

Une seule valeur de repli convient rarement à tous les échecs. Un fichier manquant et une entrée incorrecte nécessitent souvent des traitements différents : vous devez donc choisir une branche selon l’erreur survenue.

Capturez, puis utilisez switch

Capturez l’erreur avec catch, puis transmettez-la à un switch. Chaque cas peut réagir à une erreur précise à sa manière.

open(path) catch |err| switch (err) {
    error.NotFound => create(path),
    else => return err,
};

Les erreurs sont des valeurs pour switch

Une erreur comme error.NotFound est une valeur ordinaire : switch la compare comme il comparerait un entier ou une valeur d’énumération.

switch (err) {
    error.Timeout => retry(),
    error.Denied => reportDenied(),
}

switch doit être exhaustif

Un switch portant sur une erreur doit couvrir toutes les erreurs possibles de l’ensemble. Zig refuse de compiler si un seul cas manque.

Couvrez le reste avec else

Ajoutez une branche else pour intercepter toute erreur que vous n’avez pas nommée. Ainsi, switch reste exhaustif sans devoir énumérer chaque variante.

switch (err) {
    error.NotFound => createDefault(),
    else => return err,
}

Chaque branche renvoie une valeur

Comme switch est une expression, chaque branche peut produire une valeur. L’ensemble du catch renvoie alors ce que fournit la branche correspondante.

const n = parse(s) catch |e| switch (e) {
    error.Empty => 0,
    else => -1,
};

Regroupez les erreurs avec des virgules

Énumérez plusieurs erreurs dans une même branche, séparées par des virgules, lorsqu’elles appellent la même réponse. Les cas associés restent ainsi ordonnés et regroupés.

switch (err) {
    error.Timeout, error.Reset => retry(),
    else => return err,
}

Renvoyez les erreurs que vous ne pouvez pas traiter

Dans une branche, vous pouvez return l’erreur pour la transmettre vers l’amont. Traitez les cas que vous comprenez et laissez l’appelant s’occuper du reste.

else => return err,

Associez d’abord try

Souvent, vous utilisez try pour le chemin courant et ne faites un switch que sur les erreurs qui nécessitent réellement une logique personnalisée, afin de garder le chemin nominal clair.

La clarté par la précision

Utiliser switch sur les erreurs documente précisément les échecs auxquels vous vous attendez. Le lecteur voit chaque cas et la réaction de votre code.

Le compilateur veille sur vous

Comme le switch doit être complet, l’ajout ultérieur d’une nouvelle erreur vous oblige à la traiter. Les cas oubliés deviennent des erreurs de compilation, pas des bogues.

Vérification rapide

Vous utilisez switch sur une erreur capturée, mais vous n’énumérez que certaines variantes. Que vous impose Zig ?

Récapitulatif

Vous avez capturé une erreur et utilisé switch pour créer une branche par erreur, regrouper les cas associés et renvoyer le reste. Le compilateur veille à ce que l’ensemble soit complet. ✅

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 « Sélectionner selon des erreurs précises » est-elle gratuite ?

Oui — le texte complet de « Sélectionner selon des erreurs précises » 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 « Sélectionner selon des erreurs précises » ?

Créez une branche selon l'erreur renvoyée. 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 2 sur 4.

Combien de temps prend la leçon « Sélectionner selon des erreurs précises » ?

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