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 –