我不熟悉使用 vavr 进行编程的函数式风格。
我有一个方法在成功执行时返回数据,如果失败,则返回 MyCustomRunTimeException。
在我的服务类中,我正在调用这个 API 方法,当 API 方法失败时,我必须捕获异常并清除我的应用程序缓存并将相同的异常返回给调用者(在我的情况下是另一个服务方法)。
如果方法调用成功,我必须返回实际对象,而不是 Try 包装对象。
如何使用 vavr Try 来实现这一点?
我尝试在 vavr Try.recover 中使用不同的方法,但我无法抛出相同的异常。
如果有人可以提供,任何示例或片段都可能对我非常有帮助。
提前致谢。
例子:
Foo doFoo() {
throw new MyCustomRunTimeException();
}
method1(){
try{
doFoo();
}catch(MyCustomRunTimeException ex){
clearcache();
throw ex;
}
}