On 8/4/05, Nick Coghlan <[EMAIL PROTECTED]> wrote: > Brett Cannon wrote (in the PEP): > > KeyboardInterrupt inheriting from ControlFlowException > > > > KeyboardInterrupt has been a contentious point within this hierarchy. Some > > view the exception as more control flow being caused by the user. But with > > its asynchronous cause thanks to the user being able to trigger the > > exception at any point in code it has a more proper place inheriting from > > CriticalException. It also keeps the name of the exception from being > > "CriticalError". > > I think this argues against your own hierarchy, since you _did_ call the > parent exception CriticalError. By your argument above, that suggests > KeyboardInterrupt doesn't belong there ;) >
=) Drawback of having names swapped in and out so many times. > In practice, whether KeyboardInterrupt inherits from ControlFlowException or > CriticalError shouldn't be a big deal - the important thing is to get it out > from under Exception and StandardError. > In general, probably. > At which point, the naming issue is enough to incline me towards christening > it a ControlFlowException. It gets all the 'oddly named' exceptions into one > place. > Good point. I think I would like to see Guido's preference for this since it feels like it should be under CriticalError. > Additionally, consider that a hypothetical ThreadExit exception (used to > terminate a thread semi-gracefully) would also clearly belong under > ControlFlowException. That is, just because something is asynchronous with > respect to the currently executing code doesn't necessarily make it an error > (yes, I know I argued the opposite point the other day. . .). > Another good point. I am leaning towards moving it now, but I still would like to hear Guido's preference, if he has one. -Brett _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com