【发布时间】:2015-01-12 05:49:50
【问题描述】:
使用以下代码,
void key(Key) throws SomeCheckedException {
}
void supplier(Supplier<Key> s) throws SomeCheckedException {
ofNullable(s).ifPresent(s -> { // |
try { // |
key(s.get()); // |
} catch (final SomeCheckedException sce) { // |
// sce is coming from key() method // |
// How can I throw sce for outer method? // --/
}
});
}
如何将sce 像method(supplier) 方法一样抛出?
请注意,上面的代码只是一个例子。我需要 key(s.get()) 在 lambda 表达式中。
void supplier(Supplier<Key> s) throws SomeCheckException {
key(s.get());
}
【问题讨论】:
-
啊,没想到
key(…)可能会抛出checked异常。但是my answer 也可以处理这种情况。
标签: java exception-handling lambda java-8