Set di errori e unione !T
Trattare gli errori come valori di prima classe
Set di errori e unione !T è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 1 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.
Gli errori sono valori
In Zig non esistono eccezioni. Un errore è semplicemente un normale valore che la funzione può restituire, quindi il fallimento è visibile nel codice.
Dichiarare un error set
Un error set è un gruppo con nome di possibili errori. Si elencano le varianti in modo simile a un enum di ciò che può andare storto.
const FileError = error{
NotFound,
PermissionDenied,
};Fare riferimento a un errore
Ogni membro di un error set si raggiunge con un punto. Il valore FileError.NotFound è un errore concreto che può essere restituito.
return FileError.NotFound;Error set anonimi
Non è sempre necessario un nome. Scrivendo error{Empty} inline si crea un piccolo error set utilizzabile una sola volta proprio nel punto d'uso.
return error.Empty;Il punto esclamativo indica un possibile errore
Il simbolo ! in un tipo crea una union con errore. Il tipo che lo precede è il valore restituito in caso di successo; al suo posto può comparire un errore.
FileError!u32Leggere !T ad alta voce
Può leggere !u32 come “un u32 oppure un errore”. Un unico valore rappresenta entrambi gli esiti, quindi chi lo chiama deve scegliere quale gestire.
I due lati della union
Una union con errore ha esattamente due forme a runtime: un payload valido di tipo T oppure uno degli errori del set. Mai entrambi.
Specificare il set prima del punto esclamativo
Inserisca l'error set a sinistra di ! per indicare esattamente quali errori sono consentiti. In questo modo il fallimento è documentato direttamente nel tipo.
fn parse(s: []const u8) FileError!u32 {
// ...
}Unire gli error set
L'operatore || applicato a due error set li combina in uno solo. In questo modo una funzione può ammettere contemporaneamente errori provenienti da più fonti.
const AllError = FileError || NetError;anyerror è il superinsieme
Il tipo integrato anyerror contiene ogni errore possibile. È comodo, ma perde la precisione di un set con nome: lo usi quindi con moderazione.
fn risky() anyerror!void {}Perché gli error set sono utili
Poiché gli errori fanno parte del tipo, il compilatore conosce ogni fallimento che una funzione può produrre. Nulla può sfuggirLe se resta non gestito.
Verifica rapida
In una funzione vede il tipo FileError!u32. Che cosa descrive?
Riepilogo
Ha incontrato gli error set, la union !T, l'unione dei set con || e anyerror. Gli errori sono normali valori che il sistema dei tipi tiene sotto controllo per Lei. ✅
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 «Set di errori e unione !T» è gratuita?
Sì — il testo completo di «Set di errori e unione !T» è 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 «Set di errori e unione !T»?
Trattare gli errori come valori di prima classe 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 1 di 4.
Quanto tempo richiede la lezione «Set di errori e unione !T»?
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
- Set di errori e unione !T
- Restituire errori dalle funzioni
- Propagare i fallimenti con try
- Set di errori inferiti