问题是是否更愿意Throw
an exception
或防止其发生。这是一个游戏项目。
IndexOutOfBoundsException
与围绕它进行编码相比。
我有一个List<E>
private Attribute<List> attributes;
一种通过索引获取项目的方法。
public Attribute getAttribute (int index) {
if (index < 0 || index >= attributes.size())
index = 0;
return attributes.get(index);
}
在这种情况下,我默认为列表的第一个元素。
快速失败通常是一个好主意:如果将索引 -1 传递给该方法,则可能意味着调用该方法的代码中存在错误。如果您默默地使用index = 0,(a) 调用代码可能不会收到预期的结果,(b) 您可能不会注意到该错误,直到它变得非常混乱而需要修复。
所以我会简单地使用:
public Attribute getAttribute (int index) {
return attributes.get(index);
}
如果需要的话会抛出异常。如果调用此方法的代码没有错误,则永远不应抛出该异常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)