This is the same reader as above. The code here is actually from Stephan. I only changed the statement so that we don't delete the file in some situations.

I'm not sure if I got your question right. I assume that it is good programming style to use the finally block to clean up the mess after an exception.
The only thing I could do if close() throws an exception is deleting the file hash join was about to read .. but HJ does not do this anywhere. So if Hashjoin fails, it will always leave some ".channel" files.
If the close() call fails, there is no chance for HJ to recover.