Skip to content

Conversation

@ollyfutur
Copy link

Motivation

I got stuck for a little while on a problem with Barnaba while processing a dataset using multiprocessing. Some files caused the program to exit because no valid nucleobase was found. I did not expect this behavior which caused my program to inexplicably stall since sub-processes exited without raising an Exception that I could identify. In my case the problematic piece of code was in the Nucleic constructor. While this is quickly fixable in the caller by explicitly catching SystemExit in a try block, I suggest Barnaba should raise a ValueError to align with python error handling conventions.

Changes

  • This pattern of using sys.stderr.write + sys.exit is found in many places in the code. I have replaced these occurrences with ValueErrors in the parts that can be used as modules (aka everywhere except in commandline.py)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant