Zig Academy · Lezione

Propagare i fallimenti con try

Propagare gli errori verso l'alto con una sola parola chiave

Lezione 3 di 413 passaggi

Propagare i fallimenti con try è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Zig Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Zig Academy include 4 lezioni in totale.

La gestione diventa ripetitiva

Scrivere un if-else intorno a ogni chiamata soggetta a fallimento per inoltrare l'errore diventa presto prolisso. Zig offre una scorciatoia: la parola chiave try.

try estrae il valore o restituisce l'errore

Inserisca try prima di una chiamata soggetta a fallimento. In caso di successo fornisce il valore; in caso di errore restituisce quell'errore dalla funzione corrente.

const n = try parse(input);

È solo zucchero sintattico

Quella riga equivale esattamente a catturare l'errore e restituirlo manualmente. try scrive semplicemente il codice ripetitivo al posto Suo.

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

La funzione deve poter fallire

Poiché try può restituire un errore, la funzione che lo contiene deve avere un tipo restituito con una union con errore. Altrimenti il compilatore lo rifiuta.

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

Concatenare molti try

Inserisca diversi try consecutivi. Ognuno interrompe subito la funzione in caso di fallimento, così il percorso di successo si legge dall'alto verso il basso.

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

try nel mezzo delle espressioni

Può inserire try direttamente all'interno di un'espressione più ampia. Il valore estratto confluisce direttamente nella chiamata o nel calcolo circostante.

const total = base + try parse(input);

try con chiamate void

Anche quando una chiamata restituisce !void, usi try per inoltrare ogni fallimento. Non riceve alcun valore, ma solo il return anticipato in caso di errore.

try file.writeAll(data);

Gli errori risalgono nello stack

Con try a ogni livello, un fallimento profondo si propaga fino in cima, finché un chiamante decide finalmente di gestirlo.

Un percorso di successo leggibile

Il vantaggio principale è la chiarezza: l'inoltro degli errori si riduce a una sola parola chiave, così la logica principale rimane in primo piano.

try non gestisce gli errori

Ricordi che try inoltra soltanto un errore: non lo recupera. Per reagire localmente deve invece usare catch.

Quando inoltrare l'errore

Usi try quando la scelta corretta è lasciare che sia il chiamante a gestire il fallimento. La maggior parte delle funzioni intermedie si limita a inoltrare gli errori verso l'alto.

Verifica rapida

Scrive try doThing() all'interno di una funzione. Che cosa accade se doThing restituisce un errore?

Riepilogo

Ha imparato che try estrae il valore in caso di successo e restituisce l'errore altrimenti. È una forma abbreviata di catch e inoltro, che mantiene il codice pulito. ✅

Gratis per iniziare

Impara Zig con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Propagare i fallimenti con try» è gratuita?

Sì — il testo completo di «Propagare i fallimenti con try» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Zig Academy, passa a CoddyKit PRO. Il corso Zig Academy include 4 lezioni in totale.

Cosa imparerò in «Propagare i fallimenti con try»?

Propagare gli errori verso l'alto con una sola parola chiave Eserciti Zig Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Zig Academy?

Non è richiesta alcuna esperienza precedente. Zig Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Propagare i fallimenti con try»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Zig Academy?

Sì. Ogni lezione Zig Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Set di errori e unione !T
  2. Restituire errori dalle funzioni
  3. Propagare i fallimenti con try
  4. Set di errori inferiti
← Torna a Zig Academy