我在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