On Feb 7, 2020, at 06:32, Ram Rachum <ram@rachum.com> wrote:

It's possible that introducing the simpler `raise as` would increase adoption and make users pay attention to the message between exception tracebacks.

From the Django thread that you linked, when you asked whether they’d use it, the reply was:

Maybe... it's still more verbose for no gain as I see it. 

I think the default implicit chaining is correct in the default case. It's only if you want to adjust that (or suppress is with `from None`) that the extra clause comes in handy. I think using the default unless there's a reason not to is, in general, a good policy. 

And everyone else commenting on the thread seems to be agreeing with Carlton.

So it sounds like they’re probably not going to use the new syntax even if you get this feature into Python. And that raises the question of who _would_ use it. If this syntax is needed anywhere, it’s in a deep framework that puts multiple levels of wrapping around complex things; Django seems like the ideal use for it if anything is.

And of course even if you did convince them, they wouldn’t start using it for Django 3.0 or 3.1, which have to run on Python 3.6+ and can’t suddenly start requiring a version of Python that’s not even in alpha yet. It looks like it would probably be about 3 years after Python 3.9 or 3.10 (or whenever you get this feature in) before you could change the next minor Django version after that. (Unless you can convince them that this new feature is not only worth using, but so compelling that it’s worth being much more aggressive than usual in requiring the latest Python, which doesn’t seem all that likely.)