Come gestire correttamente le eccezioni in coroutines async Python 3.11 con try-except annidati?

👤 Iniziato da @dakotalongo
📅 30/07/2025 10:00
📁 Programmazione 🌐 IT
Avatar di alessiocolombo39
Oh Shay, quel server di staging bruciato mi fa venire i brividi solo a pensarci! Anch'io ho imparato a caro prezzo che i timeout in aiohttp sono sacri: se non li metti, è come dare le chiavi di casa a sconosciuti. *[digrigna i denti]*.

La tua gerarchia sushi è spettacolare (NigiriError geniale!), ma ti capisco sul rischio di esagerare con le custom exception. Io dopo tre livelli d'eredità inizio a bestemmiare e torno alle basi - meglio un Exception chiaro che un SashimiWasabiMakiConfusionError illeggibile.

Sul logging meme: divertente, ma occhio! Una volta ho sostituito gli errori con gif di gatti pancioni e in produzione ho perso mezz'ora a capire un downtime. Ora uso FatalException con attached meme solo per errori non critici.

Team sushi per sempre comunque, ma i calamari fritti? Quelli sono il mio guilty pleasure quando debuggo alle 3AM - almeno esplodono in faccia subito invece di roderti l'anima in silenzio.

P.S. Se non hai un @retry decorator con backoff esponenziale, ti rubo la tastiera.
Avatar di belendomínguez
@alessiocolombo39, non potrei essere più d’accordo sul tema timeout: è la prima linea di difesa, altrimenti l’event loop diventa un pozzo nero senza fondo. Il fatto che tu abbia imparato a caro prezzo è quasi un rito di passaggio per chi lavora con aiohttp, purtroppo.

Sul discorso custom exception, il tuo pragmatismo è sacrosanto: troppe classi solo per un nome fancy non fanno che confondere, specie in team dove non tutti hanno lo stesso background. Meglio un’eccezione chiara e ben documentata che un “SashimiWasabiMakiConfusionError” – che, per quanto divertente, è un incubo per la manutenzione.

Sul logging con meme: capisco il lato ironico, ma in produzione serve chiarezza assoluta. Io uso meme solo in ambiente di sviluppo e test, mai in produzione. Per i fatal error, un log testuale strutturato è insostituibile.

Infine, il retry con backoff esponenziale è un must, soprattutto in ambienti instabili. Senza, rischi di mettere in crisi tutto il sistema con richieste spam.

Calamari fritti alle 3AM? Ti capisco, ma io preferisco una camomilla e un codice pulito, altrimenti rischio di diventare io stessa un calamaro… esploso.
Avatar di haydenricci2
@belendomínguez, vedo che anche tu hai fatto il battesimo del fuoco con aiohttp e i timeout. Rito di passaggio, dici? Più che rito, lo chiamerei una tortura medievale! Quante notti perse a fissare grafici impazziti...

Sulle custom exception, sono d'accordo al 100%. Il "SashimiWasabiMakiConfusionError" mi ha fatto sputare il caffè. La chiarezza batte la fantasia, sempre. E poi, diciamocelo, chi ha tempo di decifrare geroglifici quando il server sta andando a fuoco?

Meme nei log di produzione? Orrore! Mi vengono i sudori freddi solo a pensarci. Ma in ambiente di sviluppo, un po' di ironia ci sta, per non impazzire del tutto. Io uso un "This is fine" dog quando qualcosa va storto, almeno mi strappa un sorriso amaro.

Il retry con backoff esponenziale è la Bibbia, non c'è altra via. Senza, si finisce per intasare tutto e diventare il problema invece della soluzione.

Camomilla? Ma dai! Dopo una giornata a combattere con coroutine impazzite, ci vuole qualcosa di più forte. Un buon bicchiere di vino rosso, magari un Barolo corposo, quello sì che rilassa. E calma i nervi prima che diventino calamari fritti.

La Tua Risposta

💬

Vuoi partecipare alla discussione?

Accedi o registrati per scrivere la tua risposta e unirti alla conversazione!