Bon, va te documenter sur la différence entre les Checked Exceptions et les Exceptions normales
Je suis aller voir si je ratais quelque chose et ils semble que non, c'est assez simple. Les exceptions non vérifiées peuvent être ignorée silencieusement alors que les autres doivent être géré (soit par un try/catch soit par un throws) et c'est vérifié statiquement.
la distance entre l'erreur et sa gestion. J'en ai déjà parlé si c'est si long que ça c'est que tu as des modules bien trop gros (il devient difficile d'avoir une compréhension simple de « j'ai une erreur ici, ça se répercute là »)
il y a un argument sur l'encapsulation que je ne comprends pas du tout. L'encapsulation consiste basiquement à cacher la représentation interne pour n'exposer qu'une API (pour moi les erreurs font partie de l'API, mais bon). Plus tu écarte cette gestion d'erreur de l'endroit où elle est levée, plus tu expose de ton fonctionnement interne. Pire tu complexifie l'usage de ton API en ayant des cas implicites. Au final on viol la loi de Demeter.
l'existence d'unchecked exception empêche de faire de l'exception-free. L'exception-free est un mythe, ça ne peux fonctionner que sur du code sans allocation par exemple. Ce n'est pas du tout ou rien. Tu as toutes les erreurs métier qui peuvent se gérer comme ça et c'est déjà énorme
des questions de performance. Ok mais c'est au détriment de la qualité du code (on perd l'analyse statique de la gestion d'erreur)
parce que là tu parles dans le vide...
Il semble en effet. C'est dommage, mais j'aurais au moins essayé de communiqué.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Mauvaise connaissance du c++
Posté par barmic . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 4.
Je suis aller voir si je ratais quelque chose et ils semble que non, c'est assez simple. Les exceptions non vérifiées peuvent être ignorée silencieusement alors que les autres doivent être géré (soit par un
try/catchsoit par unthrows) et c'est vérifié statiquement.Pas trouvé grand chose là dessus. Le seul truc qui parle d'une controverse que j'ai trouvé c'est ça : https://docs.oracle.com/javase/tutorial/essential/exceptions/runtime.html
En cherchant un peu différemment j'ai trouvé ça d'intéressant : http://stackoverflow.com/a/18472120. Globalement il y a quelques arguments :
Il semble en effet. C'est dommage, mais j'aurais au moins essayé de communiqué.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)