Souvent, lorsque j'écris une fonction, je veux m'assurer que ses entrées sont valides afin de détecter ces erreurs le plus tôt possible (je crois que cela s'appelle des préconditions). Quand une condition préalable échoue, j'ai toujours levé une exception. Mais je commence à douter que ce soit la meilleure pratique et, sinon, des affirmations seraient plus appropriées.
Alors, quand devrais-je faire quoi: quand est-il approprié d'utiliser une assertion et quand est-il approprié de lever une exception?