Cosa fa effettivamente il tuo codice quando arrivano quelle eccezioni - le registri, riprovi, o semplicemente continui in silenzio?
Il motivo per cui la gente insiste su eccezioni specifiche è che un `except:` nudo o `except Exception:` catturerà letteralmente tutto, incluse cose che non prevedevi e probabilmente non dovresti ignorare. Se stai cercando di aprire un file e catturi `FileNotFoundError`, è specifico e ha senso. Ma un except nudo catturerà anche cose come `KeyboardInterrupt` o `SystemExit`, che di solito vuoi lasciar passare. Ancora peggio, nasconde i bug - se il tuo codice ha un errore di battitura o un errore logico che solleva qualcosa di inaspettato, non lo vedrai mai perché la clausola except l'ha ingoiato.
Detto questo, per script più piccoli o roba veloce, la gente diventa pragmatica. La differenza si vede davvero quando stai debuggando o quando il tuo codice viene passato a qualcun altro. Le eccezioni specifiche rendono chiara la tua intenzione - questo codice sa come gestire un file mancante, ma non un problema di connessione al database. Se stai scrivendo qualcosa che rimarrà piccolo, catturare `Exception` (non bare `except`) è molto più sicuro di un gestore generale, e almeno puoi vedere cosa viene catturato. Man mano che i tuoi progetti crescono, vorrai diventare più specifico. La pratica di essere deliberato su cosa cattturi non è solo pedanteria - ti salva da bug misteriosi più tardi.