On Mon, Oct 28, 2019 at 10:20 AM Andrew Barnert via Python-ideas
<[email protected]> wrote:
>
> And meanwhile, if you want to change the language to turn raise into an
> expression, why not just turn it into an expression with the same syntax,
> just like with yield somewhere around 2.4? Then all existing code that raises
> exceptions continues to work; only code that relies on the grammar or AST
> breaks (and that’s explicitly allowed to break between versions).
>
When yield was turned into an expression, it was to allow it to have a value:
def coro():
value = yield "Start"
print("I got value:", value)
yield "End"
x = coro()
print(next(x))
print(x.send("Hello"))
But a raise expression doesn't really make sense in that way - it
can't possibly have any value. It would be possible to use a raise
expression in a lambda function or an if/else expression, but other
than that, there wouldn't be much to gain.
ChrisA
_______________________________________________
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/W646EG5DZHAUIZOBOIPIGUFC5Z3AZI4P/
Code of Conduct: http://python.org/psf/codeofconduct/