Riepilogo

Completato

Come si è visto, i processi di gestione degli errori e registrazione in Go non sono analoghi a quelli di altri linguaggi di programmazione. In primo luogo, l'approccio di Go alla gestione degli errori è semplice. Si usa una condizione if e la funzione che si sta chiamando restituisce più valori. Per convenzione, l'ultimo valore restituito è l'errore. Se la variabile di errore restituita è nil, non è presente alcun errore. Se il valore non è nil, c'è un errore. È possibile propagare l'errore fino allo stack semplicemente restituendo di nuovo l'errore e, se necessario, è possibile includere più contesto.

È possibile creare variabili di errore da riutilizzare come valori restituiti per i messaggi di errore comuni nei programmi.

Occorre anche sapere quando generare una condizione di panico. È già stato illustrato come funzionano panic e recover. Queste funzioni devono essere usate solo quando occorre che il programma venga arrestato in modo esplicito. Possono verificarsi situazioni in cui il programma smette di rispondere anche se gli errori vengono gestiti correttamente. Ma questa dovrebbe essere l'eccezione, non la regola.

Infine, è stato illustrato come funziona la registrazione in Go e come usare la libreria standard. Oltre a visualizzare i log nella console, è possibile inviarli a un file per elaborarli in un secondo momento e quindi inviarli in una posizione centralizzata. Man mano che le dimensioni della codebase aumentano, potrebbe essere necessario eseguire altre operazioni, ad esempio impostare i livelli di registrazione o configurare output diversi. Queste attività non sono supportate nella libreria standard. È necessario usare un framework di registrazione come zerolog.

Questo modulo è breve, ma è importante comprendere bene i concetti illustrati. Sono utili per la risoluzione dei problemi nei programmi.