clauses act like ``except Exception``.
Transition plan completely reworked to basically not go through hoops that will
negatively impact performance. Basically now BaseException is added and
everything else is not changed until Python 3.0 . Also suggests docs be
changed to suggest a certain practice.
- Remove proposal of removing WindowsError
- Change bare 'except' proposal to recommend their removal
Minor changes:
- Flesh out arguments for TerminatingException
- Reorganize discussion of hierarchy difference compared to 2.4
- Strip out unneeded Rejected Idea sections based on other discussions in the
PEP
removed along with EOFError no longer inheriting from IOError.
TerminalException was renamed TerminatingException.
At this point the only changes to the exception hierarchy are the addition of
BaseException and TerminatingException, and the change of inheritance for
KeyboardInterrupt, SystemExit, and NotImplementedError.
All renamings have been removed. All new exceptions that were not superclasses
have been removed. CriticalException has been renamed TerminalException.
SystemError and MemoryError have been moved back under Exception, but while
inheriting from the new exception VMError. ControlFlowException has been
removed and its subclasses now directly inherit Exception.
Also includes reformatting of the references and some editorial changes as
suggested by David Goodger.
so as to provide a base Error exception that inherits from Exception. Also
allows Warning to inherit from Exception without being put at the same level as
any *Error exceptions.