應用程序在從數據庫中獲取數據時應該預料到意外嗎?可以說我們已經在列中存儲了一個枚舉值(int或text)。當我們從數據庫返回值時,我們將該值轉換爲枚舉類型。如果某人手動更改了數據庫中的數據並破壞了數據完整性,那麼我們的演員陣容會失敗?從數據庫提取完整性破壞的數據
另一個例子是當c#中的數據類型與數據庫中等效字段的範圍相比較小時。如果任何人手動將該值放入此值,則讓對數據庫最大值說,然後應用程序會拋出範圍異常。
我們應該如何處理這種例外情況?
編輯:由於大多數答案是相似的,我將重新說明這個問題。這意味着應用程序中有異常日誌記錄。問題是:當用戶查詢某些數據,並且數據已損壞(不是來自應用程序CRUD操作,而是來自外部)時,從數據庫到模型的數據轉換將失敗,用戶將根本沒有數據。應用程序中有這樣的狀態是否可以接受?因爲應用程序本身並不導致它?
驗證數據會導致數據讀取速度大幅下降。想象一下,如果超出範圍,你需要檢查每個十進制值嗎?
你應該通過塗抹和羽化做這些的人來處理這個問題。 Cat-O-Nine是廣泛接受的替代品,可以避免焦油對環境的影響。 – 2012-02-08 13:46:06
:)如果我只知道... – Goran 2012-02-08 15:21:39