
Envoyé par
therwald
Oui, je ne citais la base de données qu'a titre d'exemple. Globalement, certaines règles de cohérence de modèle ne peuvent être vérifiées (facilement) par un SGBD, et dans d'autres cas le support du modèle dont on cherche à préserver la cohérence ne supporte pas nativement de vérification de cohérence. Dans ce cas il peut être nécessaire de vérifier la cohérence des données transmises en amont et de refuser les données incohérentes EN AMONT. Dans ce cas ai-je raison de conclure de ta réponse qu'on consid-re ça quand même comme des post-conditions (je cherche à affiner ou corriger ma compréhension du concept)? Pour ma part dans ce cas là je jette une exception, parce que:
1) c'est une situation exceptionnelle (les données normales, donc le cas général, vérifient les conditions)
2) le renvoi d'un code d'erreur s'il est non-traité peut entraîner une continuation du traitement alors qu'on est sorti du domaine de définition, avec d'éventuelles conséquences pas forcément maîtrisables sur des ressources potentiellement précieuses (le SGBD est mon exemple fétiche, mais un stockage fichier plus classique peut avoir le même prix sans compter d'autres conséquences potentiellement irrattrapables auxquelles je ne pense pas à l'instant T) ==> il FAUT arrêter tout de suite
3) un modèle d'exception bien conçu permet d'arrêter le traitement de manière fiable dès que le problème est détecté ET de donner des informations sur la raison et le contexte de l'arrêt
Partager