本文整理了Java中io.trane.future.Future.rescue()
方法的一些代码示例,展示了Future.rescue()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Future.rescue()
方法的具体详情如下:
包路径:io.trane.future.Future
类名称:Future
方法名:rescue
[英]If this future completes with an exception, applies the provided rescue function and flattens the result. Note that it's possible to return a Future.exception from f if the exception can't be recovered.
[中]如果此功能在异常情况下完成,则应用提供的救援功能并使结果平坦化。请注意,返回未来是可能的。如果无法恢复异常,则来自f的异常。
代码示例来源:origin: traneio/future
@Override
final Future<T> apply(final Future<T> result) {
return result.rescue(f);
}
}
代码示例来源:origin: traneio/ndbc
default public Exchange<T> rescue(final Function<Throwable, Exchange<T>> f) {
return channel -> run(channel).rescue(t -> f.apply(t).run(channel));
}
代码示例来源:origin: traneio/ndbc
@Override
public final Future<Boolean> isValid() {
return query(isValidQuery).map(r -> true).rescue(e -> Future.FALSE);
}
代码示例来源:origin: traneio/ndbc
@Override
public Future<Boolean> isValid() {
return query(isValidQuery).map(r -> true).rescue(e -> Future.FALSE);
}
代码示例来源:origin: traneio/ndbc
private final Future<Void> validateN(final int n) {
if (n >= 0) {
final T item = items.poll();
if (item == null)
return Future.VOID;
else
return item.isValid().rescue(e -> Future.FALSE).flatMap(valid -> {
if (!valid)
return item.close().rescue(e -> Future.VOID).ensure(() -> sizeSemaphore.release());
else {
items.offer(item);
return Future.VOID;
}
}).flatMap(v -> validateN(n - 1));
} else
return Future.VOID;
}
代码示例来源:origin: traneio/ndbc
default public Exchange<T> onFailure(final Function<Throwable, Exchange<?>> e) {
return channel -> run(channel).rescue(ex -> e.apply(ex).run(channel).flatMap(v -> Future.exception(ex)));
}
内容来源于网络,如有侵权,请联系作者删除!