Fix exception when closing non-eventio files #282
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If a non-eventio file is opened (either a file not in the expected formats, or an empty file such as caused by a failed run of sim_telarray), an exception is raised if
close()
is called on theEventIOFile
object. This happens automatically if the variable goes out of scope, such as in the common operation of a loop over input files.Example
Output:
Fortunately in this case, the exception isn't considered fatal. But it is still noisy and can be fixed by checking the status of
_filehandle
before operating on it.Other notes
Incidentally, in the case of empty files, instead an opaque
IndexError
is raised by the method that attempts to read the file and discern its type. You can see this if you try/dev/null
instead of/dev/random
with this test script. But the follow-on issues are the same.