Hello,

I need to handle IOExceptions that arise from index access (IndexReader#open, #delete, IndexWriter#optimize etc.), and I'm not sure if the IndexReader is open when the exception is thrown/caught. Specifically, my code is as follows.

try {
indexReader.delete(term);
indexReader.close();
IndexWriter indexWriter = new IndexWriter(fsDirectory,
new JapaneseAnalyzer(), false);
indexWriter.optimize();
indexWriter.close();
} catch (Exception e) {
// IndexReader may or may not be open
indexReader = IndexReader.open(path);
indexReader.undelete();
}

Is the above code safe? IndexReader may already be open at the beginning of the catch clause if the exception was thrown before closing the IndexReader.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to