我在Scala項目中遇到了下面的java代碼。如何使它更加Scala慣用且沒有副作用(適當的異常處理)?使代碼更scala慣用
我想使用scalaz分離/(我知道我也可以使用Scala,但我想也可以使用更多的偏向)。在函數中有幾個這樣的檢查(上面的例子是一個例子),它會拋出一個或另一個類型的異常。如何讓這樣的代碼更加Scala慣用?
編輯: 問題不在身邊如何將Java null檢查轉換爲斯卡拉地道,這我已經在做。例如,如下
hpi.fold(throw new Exception("Instance not found for id " + processInstanceId)) { h =>
val pi = new ProcessInstance(taskResponse)
現在函數的返回類型是一些值,例如「ProcessInstance」用於例如但在我看來是誤導。調用者永遠不會知道這是否會拋出異常,所以我的問題更多地是從這些函數返回[Error,Value]。如果我有一些這樣的異常被捕獲到一個函數中,如何累積它們並反映到返回類型中?
,我已經改變了。問題更多的是積累Java中的錯誤/異常,例如代碼和返回值[Error,Value]類型的數據結構? – user2066049