2008-12-01 458 views

回答

0

既然你沒有的CFile的內部的視圖(或不應該,如果它的正確封裝的),你需要依靠API的「契約」上。換句話說,除非文件明確告訴你在某些情況下會發生什麼,否則你不能依賴它。

即使您有源代碼並且可以弄清楚,API規範是合同,任何未指定的內容都可以隨時更改。這就是爲什麼一些軟件開發人員對發佈內部結構非常謹慎的原因之一,因爲它可以被視爲永遠支持它們。

如果您確實想確保文件在異常後處於已知狀態,則需要對該行爲進行編碼。這可以是這樣的:

  • 在程序啓動時備份文件(簡單);或
  • 在每次保存操作前備份它(仍然比較簡單);或
  • 在進行任何寫入操作(複雜和緩慢)之前進行備份。
相關問題