[Python-Dev] RE: PEP-317
Steven Taschuk
staschuk@telusplanet.net
Tue, 10 Jun 2003 17:26:10 -0600
Quoth Aahz:
[...]
> raise Found()
> except Found:
[...]
> I find that extra set of parentheses unnecessary and ugly. It implies a
> callable where it's not really being used that way, [...]
In
raise Found
Found *is* being used as a callable under the hood; an instance of
Found is created implicitly. You just happen not to care about
that instance.
> [...] particularly in the
> asymmetry between the ``raise`` and the ``except``. [...]
'raise' and 'except' *are* asymmetrical; instances are raised, but
they are caught by class. As the PEP says, the current syntactic
symmetry is misleading in general (though, I admit, not especially
so in your code sample).
> [...] If this change goes
> through, I might start doing
>
> class Found(Exception):
> pass
> Found = Found()
That you think this would work supports my claim that the present
syntax is misleading. <wink>
--
Steven Taschuk staschuk@telusplanet.net
Every public frenzy produces legislation purporting to address it.
(Kinsley's Law)