Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
6年前关闭。
我最近找到了一个列表长度为0但在位置1进行访问尝试的错误
这导致了
更新:异常不会被静默删除。
几乎总是有代码气味。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
6年前关闭。
我最近找到了一个列表长度为0但在位置1进行访问尝试的错误
System.out.println("key is " + keyValuesPairs.get(0)+ " , value is " + keyValuesPairs.get(1));
这导致了
IndexOutOfBoundsException
,但由于未捕获到该异常,因此该异常被静默删除,并且没有任何迹象表明抛出了异常。由于这个原因,IndexOutOfBoundsException
应该成为检查异常,因为它可能导致难以发现错误?更新:异常不会被静默删除。
最佳答案
您的问题不是我应该捕获此异常吗?这就是为什么未报告消耗此异常的原因?
代码中确实存在一个错误,但是另一个错误-隐藏的一个正在悄悄地使用您的异常并将其丢弃的错误-是一个更加有害的错误。
这就是为什么
...
} catch (Exception e) {
// Ignore it.
}
几乎总是有代码气味。
10-05 22:39