Since Exception has what is effectively a copy constructor, you can do this:
FileNotFoundException saveException = null;
try {
readfile();
} catch (FileNotFoundException fnfEx) {
saveException = new FileNotFoundException(fnfEx);
} finally {
try {
br1.close();
} finally {
if (saveException != null)
throw saveException;
{
}
What this does is to effectively hide the FileNotFoundException while you deal with any IOException then throws it again if it occurred.
It's a bit messy, but it works.
Cheers,
Peter
If this answers your question, accept it. Vote anyway.