fix: UpRoot's KeyInFileError Handling for Preprocessor's File Exception Parameter; Fixes #1107 #1106
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.
Hi all,
I noticed that when using the
preprocessor
'sfile_exception
parameter,uproot
'sKeyInFileError
was not always caught. This happens because theTTree
is being accessed outside of the try-except statement where thefile_exception
parameter is being used. So while the file may be opened correctly, the try-except statement does not capture errors regarding the reading of TTrees within the file.I am unsure if this is the desired behavior or not. I have implemented a fix for the bug below and added a test to make sure this bug cannot creep up again.
Allowing the
preprocessor
to skip over files that give user-specified exceptions can save the user a lot of headaches, especially if the user wants to ignore a small number of bad files in an otherwise large batch of working files. However, it may be worth giving some type of warning to the user in the future.