我正在編寫一些客戶端/服務器軟件,而且我正面臨以下設計問題。通常,我非常自由地使用VERIFY宏 - 如果用戶機器中出現錯誤,我希望軟件失敗並記錄錯誤,以便修復錯誤。我從來不會忽視任何錯誤。活服務器中的致命錯誤
但是,我現在正在寫一個服務器。如果服務器死亡,許多客戶端就會關閉,所以服務器應儘可能少地死機。因此,我不知道如何處理一些我認爲是致命的例外情況。
例如,我從未登錄的用戶那裏收到一個網絡數據包。即使不應該發生這種情況,但我有足夠的經驗知道不時發生「不可能」的錯誤。所以我很確定,如果我在這些情況下發生致命錯誤,服務器將最終崩潰。另一方面,我可以登錄並忽略錯誤並繼續,但是恐怕有些錯誤可能以這種方式未被發現。
你會在這樣的情況下做什麼?