我想知道如何知道如何創建並拋出一個已檢查的異常或未經檢查的異常。如何決定創建一個已檢查的異常或未經檢查的異常
例如,我有一個服務,它使用它之前需要一些數據並驗證它。在驗證過程中,某個字段不符合規則,我想拋出異常說ValidationException()。我如何知道決定應該檢查還是不檢查。
在另一種情況下,我從我的代碼調用外部Web服務,例如谷歌股票API。假設我有3秒的超時時間。如果時間exprires我想拋出異常說BackendException()。我怎麼知道它應該是一個檢查異常還是一個未檢查的異常。
在此先感謝。
最好從未經過檢查的例外開始。然後,如果您發現很多編程錯誤是由於未處理異常而產生的,現在可以考慮將特定的異常轉換爲已檢查的異常。 –
一般的經驗法則是:如果一個異常只是一個「失敗」,沒有特殊的處理,除了記錄它並使請求失敗,它應該被取消選中。 –
另請參見:[何時選擇checked和unchecked exceptions](http://stackoverflow.com/questions/27578/when-to-choose-checked-and-unchecked-exceptions?rq=1) –