On Mon, Jan 7, 2019 at 11:11 PM Oscar Benjamin <oscar.j.benja...@gmail.com> wrote: > > On Mon, 7 Jan 2019 at 09:27, Chris Angelico <ros...@gmail.com> wrote: > > > > On Mon, Jan 7, 2019 at 7:11 PM Anders Hovmöller <bo...@killingar.net> wrote: > > > > > > > > > > This proposal is basically about introducing goto to the language. > > > > > > A bit hyperbolic but I agree that it has the same problem as goto. But > > > the specific suggested solution is not something we should be restricted > > > so rigidly to in this discussion. One could for example see another > > > solution to the same problem: > > > > > > with supress_raise(TypeError, ValueError): > > > do_the_things() > > > > > > I have no idea how to actually implement this though and it's also a bad > > > idea but I think we should first find the best idea to solve the > > > underlying pain point then talk about rejecting or supporting that. > > > > > > > You mean like this? > > > > https://docs.python.org/3/library/contextlib.html#contextlib.suppress > > That doesn't do what the OP requested. It suppresses errors from the > outside but doesn't resume execution in the block so e.g.: > > a = b = None > with suppress(ValueError): > a = float(str_a) > b = float(str_b) > > The OP wants the the b= line to execute even if the a= line raises an > exception. >
True, but what the OP actually asked for is basically impossible. And at least you can write: with suppress(ValueError): a = float(str_a) with suppress(ValueError): b = float(str_b) which is a heap less noisy than the explicit try/except. ChrisA _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/