"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Quand faut-il réserver des exceptions à des circonstances exceptionnelles ?

Quand faut-il réserver des exceptions à des circonstances exceptionnelles ?

Publié le 2024-11-19
Parcourir:554

When Should Exceptions Be Reserved for Exceptional Circumstances?

Exceptions : réservées à des circonstances exceptionnelles

Malgré leur prévalence, l'utilisation prudente des exceptions est souvent préconisée. Examiner les raisons qui sous-tendent cette philosophie révèle une myriade de considérations.

Abus sémantique

Les exceptions, conçues pour des situations vraiment exceptionnelles, sont souvent utilisées à mauvais escient comme mécanismes de flux de contrôle. Cela compromet leur fonction sémantique prévue, car les exceptions ne sont pas censées être déclenchées en réponse à des événements prévisibles comme une saisie incorrecte de l'utilisateur.

Le fardeau de la gestion des exceptions

Les exceptions perturbent le flux normal d'exécution, exigeant que le moteur d'exécution déroule la pile et collecte des informations pour l'objet d'exception. Ce processus entraîne une surcharge importante, en particulier si les exceptions sont levées fréquemment ou mal gérées.

Fuites de ressources et états imprévisibles

Les exceptions imprévues peuvent laisser des ressources (telles que des descripteurs de fichiers ou connexions à la base de données) dans un état incohérent ou non libérées. Cela peut compromettre l'intégrité du système et introduire des vulnérabilités de sécurité.外情况并编写处理代码,这会使代码难以理解和维护。

Convention et Performance

在一些情况下,使用例外确实可以简化代码结构,但这种不可预测的情况。

何时有例外

基于这些考虑,只有在极少数情况下才适合使用例外:

真正罕见的事件:

例如,磁盘空间不足或外部服务中断。

    难以用返回代码或状态值表达的异常:
  • 在这种情况下,异常可以清晰地传达错误。
  • 需要从多个调用点处理的错误:
  • 在这些情况下,异常可以让错误在堆栈中传播。
  • 在其他所有情况下,开发者应寻求替代解决方案,例如使用错误代码、事件或回调,以避免滥用 exceptions。
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3