Barry Warsaw wrote: > On Sat, 2006-03-18 at 22:53 +1000, Nick Coghlan wrote: > >>Should GeneratorExit inherit from Exception or BaseException? > > > Actually, this prompts me to write about an issue I have with PEP 352. > I actually don't think it's necessary (yes, I know it's already in the > tree). > > What I would much rather is is for StandardError to be renamed Error, > for Exception to remain the base class of the exception hierarchy, and > for KeyboardInterrupt to be moved to inherit directly from Exception. > GeneratorExit, SystemExit, and StopIteration would continue to inherit > from Exception. > > The reasoning is this: anything that can be raised is an Exception. Not > all Exceptions are Errors. Anything that signals an error condition is > an Error, and anything that signals a warning condition is a Warning. > Thus the basic hierarchy /ought/ to be: > > Exception > +- KeyboardInterrupt > +- GeneratorExit > +- SystemExit > +- StopIteration > +- Error > | +- ImportError > | +- (etc.) > | > +- Warning > +- UserWarning > +- (etc.) > > Use defined errors should inherit from Error, not Exception. With this, > "except Exception" would be a synonym for bare except, while "except > Error" would be the standard idiom for letting non-error exceptions pass > through. > > I don't know whether this is possible for Python 2.5, well, one thing to consider is all the class MyException(Exception): in current code. > but I think it > should be what we strive for for Py3K, and I do not think BaseException > is at all necessary. > > -Barry > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: http://mail.python.org/mailman/options/python-dev/pedronis%40strakt.com
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4