0
A
回答
3
如果您對以下任何問題回答「是」,您應該編寫自己的異常類;否則,你可能可以使用別人的。
- 您是否需要一個不在Java平臺中表示的異常類型?
- 如果他們能夠區分您的異常與其他供應商編寫的類所拋出的異常,是否可以幫助用戶?
- 您的代碼是否會拋出多個相關異常?
- 如果您使用他人的例外,用戶是否可以訪問這些例外?
- 一個類似的問題是,如果你的軟件包是獨立的和獨立的?
取自「2.創建自定義例外」this article。
1
您不一定需要,但如果您要創建例如庫,則可能需要創建自己的異常層次結構以配合使用它。
有名的自定義異常將提供額外的信息,但通常您會發現將滿足您的要求的現有異常(您不需要製作自己的IllegalArgumentException
或類似的異常類型)。
2
如果您需要針對不可恢復的情況拋出異常(換句話說,您不打算捕捉並處理它),那麼不要創建自己的異常類型。
但是,有合法的(雖然非常罕見)的情況下,實際上異常是用來表示可恢復的特殊情況。在這些情況下,創建自己的異常類型來表示特定於域的情況是最好的選擇。
順便說一句,當我說「處理」時,我的意思是超過日誌或返回一般性失敗響應。處理代碼應該「處於」異常狀態並應用一些業務邏輯來繼續。
相關問題
- 1. 什麼時候創建自己的DLL應該在什麼
- 2. 爲什麼我應該創建View類的實例?
- 3. 在Java中創建自己的例外
- 4. 爲什麼我應該創建外鍵約束?
- 5. 我應該怎麼做來創建自己的分型DefinitelyTyped具有默認爲
- 6. 我應該從哪裏開始創建我自己的Swift庫?
- 7. 爲什麼我們應該阻止在iOS中創建單例實例,swift
- 8. MongoDB應該創建我自己的ID密鑰列嗎?
- 9. 我應該創建自己的框架嗎?
- 10. 爲什麼我自己的外部IP不適合我?
- 11. OAuth:爲什麼我應該在Facebook上創建應用程序?
- 12. 爲我的C#應用程序創建我自己的Dll
- 13. 創建我自己的API
- 14. 我應該爲精靈創建什麼樣的頂點?
- 15. Facebook og:type meta-tags - 我應該自己創建嗎?
- 16. Sitecore首次發佈數據,我應該自己創建嗎?
- 17. 爲什麼我們不能創建我們自己的ostream對象
- 18. 拋出我自己的例外?
- 19. 製作我自己的例外Java
- 20. 我應該從Kohana 3中拋出什麼樣的例外?
- 21. 我應該爲什麼JEditorPane事件創建偵聽器?
- 22. 爲什麼我們不應該在Jboss中使用自己的線程?
- 23. 爲什麼不在HTML5中創建自己的語義元素?
- 24. 爲什麼微軟創建自己的SQL擴展(T-SQL)?
- 25. 爲什麼要創建自己的請求對象?
- 26. 爲rethinkDB創建自己的ID有什麼缺點?
- 27. 爲什麼要創建自己的Haar分類器級聯?
- 28. 創建自定義例外的最佳做法是什麼?
- 29. 休眠創建自己的外鍵
- 30. 爲JSpinner創建自定義例外
想象一下,您的系統在特定條件下工作的情況,例如員工年齡必須超過25歲,在此情況下,如果用戶輸入使其未成年的出生日期,將會很好地進行例外檢查,這是一個非常模糊的示例但它只是一個簡單的場景,有複雜的情況,但不幸的是現在沒有想到任何權利 –