Qu'est-ce que ton code fait réellement quand ces exceptions arrivent - tu les enregistres, tu réessaies, ou tu continues juste silencieusement ?
La raison pour laquelle les gens insistent sur les exceptions spécifiques, c'est qu'un `except:` nu ou un `except Exception:` va attraper littéralement tout, y compris des trucs que tu n'anticipais pas et que tu devrais probablement pas ignorer. Genre si tu essaies d'ouvrir un fichier et que tu attrapes `FileNotFoundError`, c'est spécifique et ça a du sens. Mais un except nu va aussi attraper des trucs comme `KeyboardInterrupt` ou `SystemExit`, que tu veux généralement laisser passer. Pire encore, ça cache les bugs - si ton code a une typo ou une erreur de logique qui lève quelque chose d'inattendu, tu ne le verras jamais parce que la clause except l'a avalé.
Cela dit, pour les petits scripts ou les trucs rapides, les gens deviennent pragmatiques. La différence se voit vraiment quand tu débogues ou quand ton code est transmis à quelqu'un d'autre. Les exceptions spécifiques clarifient ton intention - ce code sait gérer un fichier manquant, mais pas un problème de connexion à la base de données. Si tu écris quelque chose qui va rester petit, attraper `Exception` (pas un except nu) c'est beaucoup plus sûr qu'un gestionnaire fourre-tout, et tu peux au moins voir ce qui est attrapé. À mesure que tes projets grandissent, tu voudras être plus spécifique. Le fait d'être délibéré sur ce que tu attrapes, c'est pas juste du pédantisme - ça t'épargne des bugs mystérieux plus tard.