[Python-Dev] GeneratorExit inheriting from Exception
Barry Warsaw
barry at python.org
Mon Mar 20 16:39:04 CET 2006
On Sun, 2006-03-19 at 17:31 +1000, Nick Coghlan wrote:
> With PEP 352 (tweaked to move GeneratorExit out from under Exception):
> - "except:" continues to mean catch everything
> - "except Exception:" now does the right thing
> - inheriting from Exception continues to be correct for user exceptions
> - errors may choose to inherit from one of the existing Errors instead
>
> With Barry's proposed hierarchy:
> - "except:" continues to mean catch everything
> - "except Exception:" continues to do the wrong thing
> - all code has to change to do "except Error:" instead
> - inheriting from Exception becomes incorrect for user exceptions
> - all code has to change to inherit from Error instead
> - non-error user exceptions (such as completion of a search using nested
> loops) have no clear parent to inherit from (both Error and Exception
> are wrong, albeit for different reasons.
>
> The additional pain required in order to have 'Exception' at the root of the
> hierarchy just isn't worth it.
One quibble. Since the term used for the general concept of something
that is raised and caught is "exception" and since all the raise-able
objects live in a module called "exceptions", it is confusing that
"except Exception" will not catch all exceptions.
-Barry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 309 bytes
Desc: This is a digitally signed message part
Url : http://mail.python.org/pipermail/python-dev/attachments/20060320/1ac1cdde/attachment.pgp
More information about the Python-Dev
mailing list