On Mon, Mar 30, 2020 at 3:19 PM Serhiy Storchaka <[email protected]>
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.
-CHB
> _______________________________________________
> Python-ideas mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/[email protected]/message/M7HVLCGQ6REMHKGZVZPIYTJGLN6WKN5F/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
--
Christopher Barker, PhD
Python Language Consulting
- Teaching
- Scientific Software Development
- Desktop GUI and Web Development
- wxPython, numpy, scipy, Cython
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/7SXSGIENYXWKWTJFC7LELWT3XVH3EUOV/
Code of Conduct: http://python.org/psf/codeofconduct/