0Pricing
Zig Academy · Lezione

Set di errori inferiti

Lasciare che Zig raccolga automaticamente gli errori

Set di errori inferiti è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 4 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.

Elencare gli errori è noioso

Indicare ogni errore che una funzione può restituire può essere laborioso, soprattutto quando chiama altre funzioni soggette a fallimento. Zig può inferire il set.

Omettere il set

Scriva semplicemente !T, senza nulla prima del punto esclamativo. Zig analizza il corpo della funzione e determina ogni errore che può produrre.

fn parse(s: []const u8) !u32 {
    // ...
}

Il compilatore li raccoglie

Ogni try e ogni errore restituito nel corpo vengono raccolti automaticamente in un unico error set inferito per quella funzione.

if (s.len == 0) return error.Empty;

Rimane preciso

Se in seguito aggiunge una nuova chiamata soggetta a fallimento, il set inferito cresce per includerla. Non dimentica mai di aggiornare un elenco scritto manualmente.

Inferenza tra le chiamate

Se la funzione usa try su un'altra chiamata soggetta a fallimento, anche i possibili errori della funzione chiamata confluiscono nel set inferito.

const f = try open(path);

I set espliciti restano preferibili

A volte serve un contratto pubblico fisso. Specificare il set prima di ! vieta qualsiasi errore al di fuori di esso, cosa che l'inferenza non fa.

fn load() FileError!Data {}

Il compromesso in una riga

I set inferiti sono comodi e si aggiornano da soli; quelli espliciti sono precisi e stabili. Scelga in base al fatto che il contratto debba rimanere invariato.

Esaminare con @errorReturnTrace

Può comunque ragionare sugli errori a runtime. Nelle build di debug Zig mantiene una traccia del ritorno dell'errore che mostra dove ha avuto origine il problema.

Ottimo per gli helper interni

L'inferenza dà il meglio nelle funzioni helper private, dove non è necessaria un'API pubblica rigorosa. Lasci che sia Zig a occuparsi della gestione interna.

Controlli sempre completi

Che sia inferito o esplicito, ogni errore deve comunque essere gestito dai chiamanti. L'inferenza riduce ciò che deve scrivere, non la sicurezza: il compilatore resta rigoroso.

Un'impostazione predefinita pragmatica

Molte funzioni Zig usano semplicemente !T e lasciano lavorare l'inferenza. Riservi gli insiemi con nome ai confini che desidera definire in modo vincolante.

Verifica rapida

Una funzione è dichiarata con il tipo restituito !u32 e senza un insieme di errori prima del punto esclamativo. Che cosa fa Zig?

Riepilogo

Ha visto gli insiemi di errori inferiti tramite !T senza nome, come crescono in base al corpo della funzione e quando sia preferibile scegliere un insieme esplicito. ✅

Domande Frequenti

La lezione «Set di errori inferiti» è gratuita?

Sì — il testo completo di «Set di errori inferiti» è 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 inferiti»?

Lasciare che Zig raccolga automaticamente gli errori 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 4 di 4.

Quanto tempo richiede la lezione «Set di errori inferiti»?

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