Pourquoi les exceptions sont mauvaises ?

Pourquoi les exceptions sont mauvaises ?
Pourquoi les exceptions sont mauvaises ?
Anonim

Les exceptions facilitent l'écriture de code où une exception levée cassera les invariants et laissera les objets dans un état incohérent. Ils vous obligent essentiellement à vous rappeler que la plupart des déclarations que vous faites peuvent potentiellement être lancées et à les gérer correctement. Cela peut être délicat et contre-intuitif.

Pourquoi les exceptions sont du mauvais C++ ?

La principale raison pour laquelle les exceptions C++ sont si souvent interdites est qu'il est très difficile d'écrire du code C++ sans exception. La sécurité des exceptions n'est pas un terme que vous entendez très souvent, mais signifie essentiellement un code qui ne se détériore pas trop si la pile est déroulée.

Est-ce que l'exception est mauvaise ?

Vous devez utiliser au moins except Exception : pour éviter d'attraper le système exceptions comme SystemExit ou KeyboardInterrupt. Voici le lien vers les docs. En général, vous devez définir explicitement les exceptions que vous voulez attraper, pour éviter d'attraper les exceptions indésirables. Vous devez savoir quelles exceptions vous ignorez.

Pourquoi l'exception catch est-elle presque toujours une mauvaise idée ?

catch(Exception) est une mauvaise pratique car il intercepte également toutes les RuntimeException (exception non contrôlée). Cela peut être spécifique à Java: parfois, vous devrez appeler des méthodes qui lèvent des exceptions vérifiées. Si cela se trouve dans votre couche EJB / logique métier, vous avez 2 choix - les attraper ou les relancer.

Les exceptions sont-elles mauvaises pour les performances ?

Conclusion. N'utilise pasexceptions en raison de leur impact potentiel sur les performances est une mauvaise idée. Les exceptions aident à fournir un moyen uniforme de faire face aux problèmes d'exécution et elles aident à écrire du code propre. Vous devez cependant tracer le nombre d'exceptions levées dans votre code.

Conseillé: