在Java中,通常情况下询问原谅而不是请求许可是一种良好的实践方式。在下面这个例子中也是如此:
try {
Cell value = array2D[rowIndex][columnIndex];
}
catch (ArrayIndexOutOfBoundsException e) {}
如上方代码所示,我们从
array2D
中获取value
。如果value
超出范围,我们不会做任何操作。我提出这个问题是因为在某些情况下(例如查找
array2D
中给定Cell
的所有邻居),实现EAFP
比实现LBYL
(先看后跳)要容易得多。