Hi Soni,

I think that your suggestion is identical to Shai's. It would be good, but
unfortunately it has the 3 problems I raised in my email from an hour ago.

On Fri, Feb 7, 2020 at 11:00 PM Soni L. <fakedme...@gmail.com> wrote:

>
>
> On 2020-02-07 5:38 p.m., Ram Rachum wrote:
> > I would like to raise a sort-of ultimatum to everyone in this thread.
> >
> > As far as I know, the `raise foo from bar` syntax, and the distinction
> > between the two exception-chaining messages, didn't really catch on. I
> > know about them, like them and use them, but most Python developers
> > and open-source packages don't.
> >
> > If I understand correctly, the `raise from` syntax was introduced in
> > Python 3.0, so in 2008. It's been with us for 12 years. We finally
> > made the transition to Python 3, and I feel that most Python
> > developers I interact with are using Python 3. But the `raise from`
> > syntax is something that's still considered esoteric.
> >
> > My point is that so far, its adoption was a failure.
> >
> > If we have any hopes that its adoption will be a success, we should
> > think, what is our plan for its success? Here are a few options:
> >
> > 1. Keep waiting a few more years and see whether people will
> > spontaneously feel like starting to use it.
> > 2. Accept the fact that it's a failed feature that would never get
> > adopted.
> > 3. Start an effort to transition to `raise from` in appropriate cases
> > in high-profile Python projects such as Django, hoping it'll trickle
> > down from there to the wider public.
> > 4. Figure out why people don't use `raise from`, and find solutions to
> > these problems. If the Django maintainers don't use it because it's
> > too verbose, introduce less verbose way. Even if it takes 6 years to
> > get into Django because of the release delay, it's worth to start
> > working on it now.
> > 5. Accept the fact that Django isn't the beacon of Pythonic-ness that
> > many of us see it as, and maybe it can stay behind in this regard
> > while other, newer projects are adopting more Pythonic practices.
> >
> > Any other options?
>
> I'm gonna make a wild suggestion:
>
> An explicit "raise" in an "except" body gets rewritten as "raise from"
> the parent exception.
>
> Hopefully this doesn't break anything, but, who knows. This means you get:
>
> except Foo as e:
>    raise Bar
> # raises Bar, because of Foo, as if by "raise Bar from e"
>
> except Foo as e:
>    my_raise(Bar)
> # raises Bar while handling Foo, as it currently stands.
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/XN7B2ZSHKXAYN2G3OV2UVZD7JMIZ2PXV/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/TVHDAUFETQIWYSFGH46DIDH6AXQCVE4M/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to