StandardError in Python 2 -> 3
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Fri Nov 16 20:30:57 EST 2012
The exception hierarchy in Python 3 is shallower than in Python 2.
Here is a partial list of exceptions in Python 2:
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StandardError
| +-- AttributeError
| +-- ImportError
| +-- NameError
| +-- TypeError
| +-- ValueError
+-- Warning
and the same again in Python 3:
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- AttributeError
+-- ImportError
+-- NameError
+-- SystemError
+-- TypeError
+-- ValueError
+-- Warning
Note that StandardError is gone.
Does anyone use StandardError in their own code? In Python 2, I normally
inherit from StandardError rather than Exception. Should I stop and just
inherit from Exception in both 2 and 3?
--
Steven
More information about the Python-list
mailing list