On Mon, Mar 30, 2020 at 3:19 PM Serhiy Storchaka email@example.com wrote:
31.03.20 00:27, Jimmy Thrasibule пише:
In my situation, I would like to mix the `with` statement with `else`. In this case I would like that if no exception is raised within the `with` to run the `else` part.
It is easy. You do not need "else".
with my_context(): do_something_sensitive() print("We're all safe.")
In case Serhiy's answer wasn't clear: context managers can be written to handle exceptions (within their context) in any way you see fit.
that is: the method:
__exit__(self, exc_type, exc_value, exc_traceback):
get the exception, and information about it, of one is raised, so you can handle it anyway you want.
Python-ideas mailing list -- firstname.lastname@example.org To unsubscribe send an email to email@example.com https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://firstname.lastname@example.org/message/M7HVLC... Code of Conduct: http://python.org/psf/codeofconduct/