Perché gestire gli errori con Either?
In molti progetti Flutter la gestione degli errori si basa su try/catch sparsi ovunque, con il rischio di dimenticare qualche eccezione e far crashare l'app. Un approccio più robusto, ispirato alla programmazione funzionale, consiste nel rendere l'errore esplicito nella firma dei metodi.
Il tipo Either<L, R> del pacchetto dartz rappresenta un valore che può essere di due tipi: Left (per convenzione l'errore) oppure Right (per convenzione il successo). In questo modo il compilatore ti obbliga a gestire entrambi i casi.
In questo tutorial costruiremo un piccolo repository che recupera un utente e restituisce un Either<Failure, User>, mostrando come gestire il risultato nella UI in modo pulito e sicuro.
