我正在尝试捕获特定的运行时异常(因此不可抛出)并记录它(log.error 具有 void 返回类型)。在 vavr 中执行此操作的最简单方法是什么?
try {
sayHello();
} catch (MyAppRuntimeException ex) {
log.error("Error occured") // log.error returns void not Void so I couldn't find a suitable method in Vavr library
}
我努力了
Try.run(() -> sayHello())
.recover(MyAppRuntimeException.class, ex->log.error("Error occured: {}", ex.getMessage()))
我得到:
错误的返回类型 void 无法转换为 Void
如果 .recover 不是正确的方法,请建议我可以捕获我的一个特定异常但不是 Throwable 的替代方法,因为它可以捕获所有异常和错误。