2010-10-09 44 views
3

每當我定義了一個新的異常,我傾向於做兩件事情之一:Java異常是否值得他們自己的文件?

  1. 創建一個異常文件,它包含了所有在我的項目中定義的新的例外列表。
  2. 將每個定義的異常放入與其引發的類相同的文件中。

Netbeans的沒有,當我在同一個文件作爲另一個類中定義的公共異常並不不喜歡它,比如在2點雖然我還沒有嘗試過,我相信它會在吆喝我出於類似的原因,在同一個文件中有一個以上的例外與第1點相同。

每個異常是否真的有它自己的文件,或者是否有其他一些Netbeans會接受的樣式?我對Java和Netbeans相當陌生,並且很想聽聽適合的風格。

+1

這不是Netbeans抱怨 - 它是javac。你可能會把例外變成一個* inner *類,這會讓編譯器感到高興,但是實例化起來更麻煩。 – 2010-10-09 01:13:10

+0

爲什麼不在記錄器中記錄異常? – 2010-10-14 13:30:19

回答

9

我在他們自己的文件中添加了異常。爲什麼不?

在單個文件中不能有多個公共類。如果您試圖以某種效率的名義將公共異常與另一個公共類相關聯,那麼我建議您返回並重新閱讀Java規範。

+1

每一個?這看起來像太多的小文件要跟蹤。 – Anthony 2010-10-09 01:17:48

+4

「這看起來好像太多的小文件需要跟蹤。」這就是爲什麼你使用Netbeans而不是vi開發Java的原因。 – Thilo 2010-10-09 01:19:12

+0

不,這就是爲什麼你有目錄結構。 – muhmuhten 2010-10-09 01:19:47

2

將異常分類(不是內部類)是一種很好的做法。這使得它們更加可重用,因此A類不會使用嵌套在類B中的類。隨着類庫越來越大,您將發現無需尋找內部類來更加友好地進行開發。

以下是每個文件只有一個類的最佳實踐,文件名代表類名。這就是說,我傾向於拋出異常的類的內部類拋出它們,除非它們的通用性足以被其他類使用。通常由於開發時間表和事實,我知道異常類是足夠專用的,不能在其他地方使用。在最後期限合理的情況下,我慢慢地將它們放入單獨的文件中,因爲更難於訪問內部類。

5

異常是一個類,需要與所有其他類相同的處理。

因此,如果您需要公開異常(如果您想要在單個類之外實際使用它,這是有必要的),您必須將其置於其自己的文件中。就像任何其他班級一樣。

沒有魔力,這只是Java的設計。

您會越來越喜歡Java已經做出了一些非常強大的設計選擇的事實。從長遠來看,它讓你的生活更輕鬆。

相關問題