Il y a beaucoup de cas ou tu peux faire du ménage dans ta mémoire. Par exemple tu peux maintenir un cache d'objet le plus gros possible et quand tu arrives au bout de la mémoire, ou une itération du GC, tu fais le ménage selon une politique donnée. Dans les cas simple tu utilises des weak references et autrement tu le fais a la main.
De même utiliser les assert pour vérifier les paramètres publiques est une erreur. Premièrement les assertions peuvent être activées ou... désactivées. Deuxièment dans beaucoup de langages il y a un contrat pour les méthode publiques qui est qu'elles doivent vérifier leurs arguments et remonter à l'appelant un exception bien définie si il n'est pas satisfait. Enfin terminer brutalement un thread, c'est ne pas permettre aux fonctions appelantes de faire le ménage pour se retrouver dans un état consistant.
[^] # Re: Vive les exceptions !
Posté par ckyl . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 2.
De même utiliser les assert pour vérifier les paramètres publiques est une erreur. Premièrement les assertions peuvent être activées ou... désactivées. Deuxièment dans beaucoup de langages il y a un contrat pour les méthode publiques qui est qu'elles doivent vérifier leurs arguments et remonter à l'appelant un exception bien définie si il n'est pas satisfait. Enfin terminer brutalement un thread, c'est ne pas permettre aux fonctions appelantes de faire le ménage pour se retrouver dans un état consistant.