可能重複:
Unchecked exceptions in Java: Inherit from Error or RuntimeException?圍繞RuntimeException或Error設計一個Application Exception層次結構會更好嗎?
在我們的應用程序是如何做錯誤處理,我們一直在穩步從檢查ExceptionHierarchy移動尋找(如異常 - > ApplicationException的 - > SomethingSpecificBadHappenedException),因爲在很多情況下,我們有很多長的調用鏈,它們只是傳遞了ApplicationException,並且它增加了很少的價值,但卻讓我們的API變得混亂(我們越來越同意Effective Exceptions。
在重新設計我們的錯誤處理周圍unchecked異常,有「故障屏障」的做法一致,我們最初開始與一個RuntimeException基礎層次,類似於Spring Data Access layer
的例子我們已經開始懷疑工作如果它會更清楚,讓他們從錯誤下降,尤其是迴避的事實,那就讓我們做這樣的事情一:我們在多個點的應用程序中
} catch (Exception e) {
,但隨後區分:
} catch (Throwable t) {
或} catch (Error err) {
這感覺乾淨,但我想不出這之後的API主要的例子。我正在尋找來自最佳通用API的示例,說明哪裏可以根據我們的異常/錯誤層次結構,或者關於樣式或功能差異的評論,這些差異應該優先於另一個根。
@DavidZaslavsky是的,我沒有看到,當我搜查,但這個問題是我的調查的要點。 – jayshao 2010-07-21 02:44:00