通常它不喜歡使用System.Exception,但我想知道這是否是我唯一的選擇。在這種情況下使用System.Exception是否合適?
我有這樣的情況下編輯
- 用戶請求的任務。
- 如果全部都是良好的db任務行檢索
- 然後提交該任務的更新並更新列以表明它已被鎖定。
- 一些時區的東西被應用到這個任務將日期轉換爲本地時間。
- 任務顯示給用戶。
因此,如果在步驟1到步驟4之間發生任何事情,任務仍然很好,因爲它沒有鎖定。但是,如果在步驟5中失敗,並且我無法將任務顯示給用戶,則該文件將被鎖定,並且會一直鎖定,直到計劃的作業運行,以確保鎖定爲long的文件被強制解鎖。
這種情況並不理想,因爲它可能會暫時失敗,下一次他們請求文件時可能會再次運行。但是現在他們必須等待(與所有其他訂戶相同)X分鐘,直到它自動解鎖。
因此,我的第一個想法是使用最後的聲明,但無論如何,這總是得到運行,所以我無法弄清楚如何說好文件現在被鎖定,不要打開它解鎖。
或者該文件被鎖定,但出現問題解鎖它。如果C#有一個只在發生異常時才運行的語句,那將會很好。
所以我唯一的想法是有一個異常,如果發生任何事情,它會在那裏解鎖它。唯一的情況是,如果它是一個SQl異常,因爲如果數據庫關閉,沒有任何一點試圖解鎖某些東西。
當然,我會用elmah來記錄錯誤並緩慢地添加更好的異常類型,因爲它們會發生。
那麼有沒有人有更好的想法?
因爲什麼時候它不喜歡使用異常? – 2011-06-04 23:34:26
它不贊成有異常驅動你的邏輯,imo,而不是整體 – Marc 2011-06-04 23:38:31
@ Jean-Bernard Pellerin - 它不皺眉使用異常,但皺眉了總是使用「Exception()」的一切。 – chobo2 2011-06-04 23:39:53