我从-1
获得response
。我得到这个异常,如何处理这个异常,以便我可以避免任何与我的Array
不匹配的整数。
Constants.Friends[Integer.parseInt(custom.getFriendsList())]
例如,如果我的数组包含四个项目。
String[] MyList = {"One","Two","Three","Four"};
如果我得到-1或任何大于3的值,我该如何处理它们。
答案 0 :(得分:6)
ArrayIndexOutOfBoundsException
是未经检查的异常,这意味着它通常表示编程错误,而不是程序控制之外的条件。这些例外应该阻止,而不是处理。
在这个特定的实例中,你应该在将它作为索引传递给数组之前检查它,如下所示:
int pos = Integer.parseInt(custom.getFriendsList());
if (pos < 0 || pos >= Constants.Friends.length) {
// Handle the error and exit or re-read the pos
}
// Accessing Friends[pos] is safe now:
String friend = Constants.Friends[pos];
答案 1 :(得分:1)
int index = Integer.parseInt(custom.getFriendsList());
if (index < 0 || index > list.length)
{
//notify user that input is invalid retry getting input
}
else
{
return list[index];
}
这应该可以解决问题;因为我不知道当索引无效时会发生什么,所以我把它打开了。