2015-03-13 53 views
1

我正在開發一個java項目。而瀏覽用戶定義的異常類的現有代碼,我遇到了一個寫的代碼如下:java中用戶定義的異常的編碼風格

public final class ApplicationException extends RuntimeException { 

public static void enforce(final String message) { 
    throw new ApplicationException(message); 
} 
private ApplicationException(final String message) { 
    super(message); 
} 
} 

,每當我不得不放棄內代碼的異常,我寫

ApplicationException.enforce("exception message here"); 

我想要知道這是一些編碼風格或模式,即將公共靜態方法中的Exception的創建和拋出封閉,並在我們想拋出異常時調用該方法?

開發人員選擇這種方式拋出異常的原因是什麼?爲什麼不根據需要直接寫 throw new ApplicationException("some message");

使用該風格的收益是多少?

在此先感謝

回答

0

它在一個方法中封裝了new關鍵字,這可能被看作是將用戶定義的異常變成一種simple factory

這可能對以後的維護和/或測試具有優勢,因爲您只需更改enforce方法的實現,並且調用該方法的客戶端代碼將發生更改。

0

我不認爲有它的任何具體的原因和模式沒有在Java項目中使用。

他可能只是用這樣的代碼很好看。