<div dir="auto"><div>You could write a context manager that used an arbitrary callback passed in to handle exceptions (including re-raising as needed). This doesn't require new syntax, just writing a custom CM.<br><br><div class="gmail_quote"><div dir="ltr">On Tue, Jan 22, 2019, 4:20 PM Barry Scott <<a href="mailto:barry@barrys-emacs.org">barry@barrys-emacs.org</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><br><div><br><blockquote type="cite"><div>On 22 Jan 2019, at 20:31, Michael Selik <<a href="mailto:mike@selik.org" target="_blank" rel="noreferrer">mike@selik.org</a>> wrote:</div><br class="m_-7587406789640832259Apple-interchange-newline"><div><div dir="auto"><div><div class="gmail_quote"><div dir="ltr">On Tue, Jan 22, 2019, 12:11 PM Paul Ferrell <<a href="mailto:pflarr@gmail.com" target="_blank" rel="noreferrer">pflarr@gmail.com</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I see this as the natural evolution of what 'with' is all about - replacing necessary try-finally blocks with something more elegant. We just didn't include the 'except' portion.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">The time machine strikes again. In fact, you can handle exceptions with a context manager object. Whatever you're with-ing must have a dunder exit method, which received any exceptions raised in the block as an argument. Return true and the exception is suppressed.</div></div></div></blockquote><div><br></div><div>Suppressing the exception is not the general case.</div><div>And will not work for the example given.</div><div><br></div><div>Barry</div><div><br></div><div><br></div><br><blockquote type="cite"><div><div dir="auto"><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div></div>
_______________________________________________<br>Python-ideas mailing list<br><a href="mailto:Python-ideas@python.org" target="_blank" rel="noreferrer">Python-ideas@python.org</a><br><a href="https://mail.python.org/mailman/listinfo/python-ideas" target="_blank" rel="noreferrer">https://mail.python.org/mailman/listinfo/python-ideas</a><br>Code of Conduct: <a href="http://python.org/psf/codeofconduct/" target="_blank" rel="noreferrer">http://python.org/psf/codeofconduct/</a><br></div></blockquote></div><br></div>_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" target="_blank" rel="noreferrer">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer noreferrer" target="_blank">http://python.org/psf/codeofconduct/</a><br>
</blockquote></div></div></div>