2008-12-01 5 views

Répondre

0

Puisque vous avez pas de vue sur les entrailles de CFile (ou ne devrait pas, si elle est encapsulé correctement), vous devez compter sur le « contrat » de l'API. En d'autres termes, à moins que la documentation ne vous dise spécifiquement ce qui se passe dans certains cas, vous ne pouvez pas vous y fier.

Même si vous aviez le code source et que vous pouviez le comprendre, la spécification API est le contrat et tout ce qui n'y est pas spécifié peut être modifié à tout moment. C'est l'une des raisons pour lesquelles certains développeurs de logiciels se méfient de la publication d'informations internes, alors que l'on peut voir qu'ils les verrouillent pour les soutenir indéfiniment.

Si vous voulez vraiment vous assurer que votre fichier sera dans un état connu après l'exception, vous devrez coder autour du comportement. Cela peut être quelque chose comme:

  • sauvegarder le fichier au démarrage du programme (simple); ou
  • sauvegarde avant chaque opération de sauvegarde (encore relativement simple); ou
  • sauvegarde avant toute opération d'écriture (complexe et lente).
Questions connexes