【发布时间】:2017-11-02 19:11:53
【问题描述】:
所以我连续有 20 个二传手,所有这些二传手都可能失败。如果一个失败,而不是跳过它们,或者用一个 try catch 包围它们,有没有办法使用 Java 8s 的一些特性来做到这一点?
例如,我在想这样的事情:
public void mapElement(Function function) {
try the function
catch if something goes wrong
}
然后我可以这样使用:
mapElement(myObject.putA(a));
mapElement(myObject.putB(b));
mapElement(myObject.putC(c));
....
【问题讨论】:
-
为什么要捕获异常?即使某些步骤失败,
mapElement()能否安全地继续并履行其整体合同?通常,我会让异常未经修改地传递给我的调用者,让他知道我的方法失败了,他也会这样做,直到捕获和记录异常的顶级。