檢查異常是 Java 中的一個強大工具,因為它們迫使程式設計師處理異常情況,從而提高程式碼可靠性。然而,過度使用可能會導致 API 難以使用。為了證明檢查異常是合理的,情況必須是真正的異常並且程式設計師能夠採取有用的操作。否則,未經檢查的異常可能更合適。
Java 8 為檢查異常的使用帶來了額外的挑戰,因為拋出異常的方法不能直接在流中使用,需要在程式碼中進行額外的處理。為了避免這種複雜性,可以考慮替代方案,例如傳回一個可選物件而不是拋出可驗證的異常,或者將方法分為兩個,一個檢查錯誤的可能性,另一個執行操作。
應謹慎使用受檢異常:如果無法恢復,請使用非受檢異常。當恢復可行時,考慮可選返回。如果這沒有提供足夠的信息,那麼檢查異常可能是合理的。
加:
這裡有一些例子來說明檢查異常和替代方案(例如Optional)的正確使用以及檢查方法的使用。
謹慎使用檢查異常
假設我們有一個從文件載入資料的方法。如果沒有找到該文件,我們想要拋出一個異常來通知呼叫者有問題。在這種情況下,檢查異常是合適的,因為開發人員可以採取措施解決問題(例如提供正確的存檔路徑)。
這裡呼叫者需要處理 FileNotFoundException 異常,因為他可以透過提供正確的檔案路徑來解決問題。
使用選用異常取代檢查異常
如果遺失檔案是不應該中斷正常執行的情況,我們可以使用Optional來指示結果可以遺失而不拋出異常。這使得 API 在可以容忍缺乏價值的情況下更加流暢。
在呼叫者程式碼中:
在這個例子中,呼叫者不需要處理異常,而Optional可以讓它更順利地處理缺少的內容。
方法分為兩種:驗證與操作
在某些情況下,我們可以將方法分為兩種:一種檢查條件,另一種執行操作。這允許呼叫者在呼叫 main 方法之前處理異常情況,使 API 更加靈活。
在呼叫者程式碼中:
這裡我們使用 IllegalStateException,這是一種未經檢查的異常,如果呼叫者嘗試載入檔案而不先檢查它是否可用。
總結
Checked Exception:用於呼叫者可以直接修復的條件,例如檔案的 FileNotFoundException。
可選:當缺少值不應中斷程序流程時使用。
方法劃分:在可以預測和避免錯誤的情況下,將檢查和執行方法分開,使API更加靈活和簡單使用。
以上是項目 避免不必要地使用檢查異常的詳細內容。更多資訊請關注PHP中文網其他相關文章!