En termes de précondition, il y a erreur quand la précondition d'une méthode n'est pas assurée. Dans ce cas, on s'attend à un traitement d'erreur qui consiste à retourner dans un état cohérent du système, où, soit la cause de l'erreur est corrigée, soit certains traitements permettent de reprendre un déroulement normal du programme, soit enfin le programme est interrompu.
Les exceptions permettent de ne pas suivre le déroulement normal du
contrôle. Quand une exception est lancée (par exemple à cause d'une
erreur), le programme va être parcouru en sens inverse jusqu'à ce
qu'on trouve un traite-exception définissant le traitement à suivre
dans ce cas.