Lo standard corrente in Rust consiste nel definire un enum di errori per ogni modulo o per l’intero crate, facendo sì che le funzioni restituiscano varianti di errori che non possono realmente generare.
Questo approccio genera enum di errori troppo ampi e richiede conversioni manuali ripetitive, vanificando i vantaggi del sistema di tipi di Rust.
Un’idea alternativa è rappresentare ogni errore come struct indipendenti e usare librerie come terrors per gestire errori singoli senza enum monolitici.
Il crate error_set fornisce macro per definire set di errori in modo conciso, generando automaticamente implementazioni dei trait necessari per le conversioni.
error_set supporta operatori di unione e verifica di sottoinsieme per consentire l’uso sicuro dell’operatore ? tra diversi set di errori.
Esistono altre librerie e macro (ad esempio SmartErr o attribute macro) che esplorano paradigmi simili per automatizzare la generazione di enum di errori.
Get notified when new stories are published for "🇮🇹 Hacker News Italiano"