0
我执行Iterator
并为了处理Exceptions
我使用以下模式:实际工作在专用hasNextPriv()
方法中完成,而hasNext()
方法处理Exceptions
。这样做的原因是因为我不想用try-catch
块来抛弃hasNextPriv()
。处理异常的方法包装?
@Override
public boolean hasNext()
{
try {
return hasNextPriv();
} catch (XMLStreamException e) {
e.printStackTrace();
try {
reader.close();
} catch (XMLStreamException e1) {
e1.printStackTrace();
}
}
return false;
}
问题:
- 有没有更好的方式来做到这一点?
- 什么将是私人方法
hasNextPriv()
的好名字?
我想在iterator中评论可关闭的资源。通常这是一种糟糕的做法,因为迭代器可能无法完全消耗。看看相关的问题http://stackoverflow.com/questions/3257972/closing-a-java-utiliterator –