【发布时间】:2019-09-21 22:39:32
【问题描述】:
我正在尝试检查围绕某个数组索引的对象值。例如,在一个 5 X 5 的数组中,第 3 行第 3 列被选中,那么代码会检查:
1 1 1 1 1
1 1 1 1 1
1 1 秒 1 1
1 1 1 1 1
1 1 1 1 1
其中 s 是数组中的选定值,加粗的 1 是代码检查的值。
在某些边缘情况下,例如左上角 1,可能会抛出 ArrayOutOfBoundsExceptions。 是否可以这样编写代码:
while(anExceptionIsNotThrown):
check surrounding value
【问题讨论】:
-
那是错误的代码编写方式。例外应该是针对特殊情况的。你知道数组有边界,所以在尝试访问它之前检查它们,而不是每次靠近边缘时都无缘无故进入缓慢的异常缠绕模式。
-
如果需要,在 java 中处理异常的唯一方法是使用 try catch 块
-
没有代码,因此提供有意义的帮助的方式为零。听起来你不恰当地使用了异常——依赖它们而不是简单地使用长度。请参阅有关如何提问的常见问题解答 - 此问题不完整。