靜心救世者 heart-break開發日誌

2026-08-26

存不下來,不該擋住結果

檔案寫失敗是我的問題,不是你的

這個遊戲有一部分程式是從我另一個手沖工具 app 搬過來的。搬過來的東西 編得過、跑得動,看起來沒事。

其中一段是這樣寫的:一場結束之後把紀錄存下來,存不成功就直接停在那裡。

在工具裡那是對的

工具的產品就是那筆資料。萃取時間、粉水比、你當時記了什麼——存不下來, 後面整條回顧的路都沒有意義。停住並且大聲說「沒存到」,是對使用者負責。

那個寫法叫 fail-closed:出事就關門。用在資料上通常是對的。

在遊戲裡它擋住的是一句話

這裡沒有那筆資料要保護。九十秒結束之後要發生的事只有一件:

畫面上出現「今天世界沒有毀滅。」

而那段搬過來的程式會在磁碟寫失敗的時候,把這句話擋掉。

你剛剛安靜了九十秒,然後因為我的檔案系統出了問題,你什麼都沒看到。 寫檔失敗是我的問題,不是你的。

改法很小

現在是:錯誤照樣報出來,但不擋結算。存不下來就存不下來,那句話 照樣給你。

改的程式只有幾行。難的是發現它需要改——它能編譯、能跑,在原本的專案裡 也還是對的。

← 其他的開發日誌