假設您有一個業務對象,其當前狀態暗示您的代碼中存在某種錯誤。或者基本上任何你使用自己的數據的情況,但它處於一個永遠不會違反一些規則的狀態。我喜歡通常檢查這些條件和假設,因爲它可以讓我在接近源頭的情況下儘早發現錯誤。但是,如果這種邏輯檢查失敗,最佳做法是什麼?如何處理代碼中無效的業務對象?
我知道Debug.Assert語句對此非常方便,但是我不是很喜歡它們,因爲它們只出現在調試模式下,而不是在測試或發佈階段,它們顯然仍然包含許多此類錯誤。我寧願被告知,這個檢查失敗了,而不是試圖調試在代碼中發生的問題。對我來說,解決方案看起來像拋出某種異常。這是一個好主意嗎?