比方说,你有一个功能(X
),它只需要一个对象并对它做一些工作。它可以以某种方式失败:处理集合时应如何处理异常?
function X(obj) throws SomeException
而且我有这些对象的集合,并希望运行所有这些X
。所以我换行了其自身的功能:
function Y(objs)
foreach obj in objs
X(obj)
end
end
什么是处理通过X
返回的例外情况的最好方法?
一个明显的选择是根本不捕获异常,导致集合的处理在第一次失败时停止。
另一种方法是捕捉每个发生的异常并将其保存在一边。最后,如果有任何异常,你可以抛出一个新的异常。您可以选择将这些异常作为新异常的嵌套异常。
另一个办法是完全忽略了的异常,像这标志着成功/失败,甚至返回发生异常的数组的布尔数组返回的东西。