Movatterモバイル変換
[0]ホーム
[Python-Dev] Exception Reorg PEP checked in
Brett Cannonbcannon at gmail.com
Fri Aug 5 21:07:08 CEST 2005
On 8/4/05, Nick Coghlan <ncoghlan at gmail.com> 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 thissince 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 stillwould like to hear Guido's preference, if he has one.-Brett
More information about the Python-Devmailing list
[8]ページ先頭