2013-03-02 73 views
1

當創建自定義異常時,最好的做法是爲每個自定義異常創建一個單獨的類文件,或者將自定義異常附加到它們相關的類文件的末尾,或者創建一個文件(例如CustomExceptions.cs )並在那裏添加自定義例外?創建自定義例外的最佳做法是什麼?

回答

7

每個文件一個類總是一個很好的規則。

其他基礎:

  • 標記您的例外,因爲[Serializable]
  • 超載所有的System.Exception構造
  • 不要System.ApplicationException
1

好繼承...我會說你應該遵循每個文件一個類的規則,除非這個異常只是爲了你的類中的「內部」功能。然後你可以在課堂上聲明它。但是,如果以任何方式暴露於外界,請將其與課堂分開。這種風險也可以從這種例外情況對您班級的用戶無所適用的實際可能性中看出。在這種情況下,我也會公開它,並且不會在裏面聲明它。

+1

您無法控制什麼捕捉您的異常,我會避免將異常聲明爲嵌套類 – 2013-03-02 02:26:13

+0

如果你是編寫代碼的人,並且只有一個公共方法例如,你可以這樣做。在這種情況下,您可以將外匯兌換爲外部世界可能有意義的例外。這種方法的一個大問題是,有人可以在該類上編寫另一種方法,並用「foget」來處理異常,所以...我也不推薦這種方法,誠實地說 – 2013-03-02 10:32:19

+0

http://msdn.microsoft.com /en-us/library/ms182162.aspx – 2013-03-02 12:26:06

0

正如其他人所說,每個文件規則的一個類是理想的。另一種考慮它的方法是,如果你有一個由許多模塊組成的大型應用程序,那麼你將擁有多個名稱空間,並且保留某些類方法(或一組類/方法)可以在其各自的名稱空間內拋出的異常是很重要的。這使得代碼更具可讀性,並且您的自定義異常背後的推理更容易被其他開發人員破譯......或者在6個月內,當您忘記了爲什麼您製作了一半的原因時::)

相關問題