grappa icon indicating copy to clipboard operation
grappa copied to clipboard

return in finally swallows exceptions

Open iritkatriel opened this issue 1 year ago • 0 comments

In https://github.com/grappa-py/grappa/blob/f1861e1572e68f031977e86a5d9eba1957bd164e/grappa/assertion.py#L52 there is a return statement in a finally block, which would swallow any in-flight exception.

This means that if an unhandled exception (including a BaseException such as KeyboardInterrupt) is raised from the try body, or any exception is raised from an except: clause, it will not propagate on as expected.

If the intention is to suppress all exceptions, I would propose to make this clear by using "except BaseException:".

See also https://docs.python.org/3/tutorial/errors.html#defining-clean-up-actions.

iritkatriel avatar Oct 25 '24 21:10 iritkatriel