我有一個用戶控件,它包含多個方法,並且每個方法都有一個try-catch塊。我只捕獲一種類型的異常,例如ArgumentException。更新 - 我沒有發現一個例外,但我定義了多個例外。如何捕獲用戶控件中的所有異常
這些方法都以相同的方式處理ArgumentException,所以我有冗餘代碼。
我可以在一個位置捕獲ArgumentException,以便用戶控件中的所有方法都可以使用它嗎?
Update1:該應用程序正在生產中使用,它被很多不熟悉計算機的人使用。簡化 - 他們必須在數據庫中插入大量數字(在手持式光學掃描儀的幫助下),當然他們會犯錯誤。至少有8種常見的異常(錯誤的大小,錯誤的類型......),並且在我的業務邏輯中,我捕獲了所有這些異常並將它們投入GUI。因爲安裝應用程序的環境非常糟糕,所以我會播放大聲的錯誤聲音並顯示錯誤消息。
由於業務邏輯的原因,他們有幾個選項來插入這些數字,因此同一個錯誤捕獲邏輯在用戶控件中都有多種方法。
UPDATE2:其實我沒有趕上ArgumentException的,但我自己的異常,例如 CodeFormatException,CodeDoesntExistException,CodeNotInTheSelectedRollException等
這是口袋妖怪異常處理。你不能處理一個ArgumentException,它是一個編程錯誤。你的catch處理程序不能重寫源代碼來修復這個bug。 – 2010-10-31 20:14:34
我不確定我瞭解你的答案。我更新了我的問題以更好地描述我的問題。 – sventevit 2010-11-01 09:24:19
@Hans Passant:我完全同意你的看法。 – Svisstack 2010-11-01 20:20:28