python built-in exceptions data fusion albert esterline source:
DESCRIPTION
+-- StandardError (cont.) | +-- EOFError | +-- ImportError | +-- LookupError | | +-- IndexError | | +-- KeyError | +-- MemoryError | +-- NameError | | +-- UnboundLocalError | +-- ReferenceError | +-- RuntimeError | | +-- NotImplementedError | +-- SyntaxError | | +-- IndentationError | | +-- TabError | +-- SystemError | +-- TypeError | +-- ValueError | +-- UnicodeError | +-- UnicodeDecodeError | +-- UnicodeEncodeError | +-- UnicodeTranslateErrorTRANSCRIPT
Python Built-in Exceptions
Data FusionAlbert Esterline
Source: http://docs.python.org/library/exceptions.html
For the exception hierarchy, see the bottom of the page, accessible directly at
http://docs.python.org/library/exceptions.html#exception-hierarchy
The class hierarchy for built-in exceptions (See module exceptions)BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception +-- StopIteration +-- StandardError | +-- BufferError | +-- ArithmeticError | | +-- FloatingPointError | | +-- OverflowError | | +-- ZeroDivisionError | +-- AssertionError | +-- AttributeError | +-- EnvironmentError | | +-- IOError | | +-- OSError | | +-- WindowsError (Windows) | | +-- VMSError (VMS)
+-- StandardError (cont.) | +-- EOFError | +-- ImportError | +-- LookupError | | +-- IndexError | | +-- KeyError | +-- MemoryError | +-- NameError | | +-- UnboundLocalError | +-- ReferenceError | +-- RuntimeError | | +-- NotImplementedError | +-- SyntaxError | | +-- IndentationError | | +-- TabError | +-- SystemError | +-- TypeError | +-- ValueError | +-- UnicodeError | +-- UnicodeDecodeError | +-- UnicodeEncodeError | +-- UnicodeTranslateError
+-- Exception (cont.) +-- Warning +-- DeprecationWarning +-- PendingDeprecationWarning +-- RuntimeWarning +-- SyntaxWarning +-- UserWarning +-- FutureWarning
+-- ImportWarning +-- UnicodeWarning +-- BytesWarning
Exceptions used only as base classes for other exceptionsBaseException Base class for all built-in exceptions Not meant to be directly inherited by user-defined classes
Exception All built-in, non-system-exiting exceptions are derived from this class All user-defined exceptions should also be derived from this class
StandardError Base class for all built-in exceptions except StopIteration,
GeneratorExit, KeyboardInterrupt and SystemExit Derived from Exception
ArithmeticError Base class for built-in exceptions raised for arithmetic errors
LookupError Base class for exceptions raised when a key or index used on a
dictionary or sequence is invalid
EnvironmentError Base class for exceptions that can occur outside the Python system:
IOError, OSError
When these exceptions are created with a 2-tuple, 1st item is available on the instance’s errno attribute (assumed to be
an error number), and 2nd is available on the strerror attribute (usually the associated
error message) The tuple itself is also available on the args attribute
When such an exception is instantiated with a 3-tuple, 1st 2 items are available as above 3rd is available on the filename attribute
Exceptions that are those actually raisedAssertionError Raised when an assert statement fails.
AttributeError Raised when an attribute reference or assignment fails When an object doesn’t support attribute references or attribute
assignments, TypeError is raised
EOFError Raised when built-in function input() or raw_input() hits an EOF
without reading any data Methods file.read() and file.readline() return an empty
string when they hit EOF
FloatingPointError Raised when a floating point operation fails
GeneratorExit Raise when a generator‘s close() method is called Directly inherits from BaseException instead of StandardError since it’s
technically not an error
IOError Raised when an I/O operation fails for an I/O-related reason Derived from EnvironmentError
ImportError Raised when an import statement fails to find the module definition or
when a from ... import fails to find a name to be imported
IndexError Raised when a sequence subscript is out of range
KeyError Raised when a dictionary key isn’t found
KeyboardInterrupt Raised when user hits the interrupt key (normally Control-C or Delete) Inherits from BaseException, so not accidentally caught by code that
catches Exception
MemoryError Raised when an operation runs out of memory but the situation may still be
rescued (by deleting some objects) Associated value is a string indicating what kind of (internal) operation ran
out of memory
NameError Raised when a local or global name isn’t found Associated value is a message that includes the name not found
NotImplementedError Derived from RuntimeError In user defined base classes, abstract methods should raise this when they
require derived classes to override the method
OSError Derived from EnvironmentError Raised when a function returns a system-related error The errno attribute is a numeric error code The strerror attribute is the corresponding string For exceptions involving a file system path (e.g., chdir()), the instance
contains a 3rd attribute: filename, the file name passed to the function
OverflowError Raised when the result of an arithmetic operation is too large
RuntimeError Raised when an error doesn’t fall in any other category Associated value is a string indicating the precisely problem Mostly a relic
StopIteration Raised by an iterator‘s next() method to signal no further values Derived from Exception rather than StandardError: not really an error
SyntaxError Raised when the parser encounters a syntax error May occur
in an import statement, in an exec statement, in a call to the built-in function eval() or input(), or when reading the initial script or standard input (also interactively)
Instances have attributes filename, lineno, offset, and text
SystemError Raised when the interpreter finds an internal error, but there’s still hope Associated value is a string indicating what went wrong (in low-level terms). Report this to the maintainer of your Python interpreter
SystemExit Raised by the sys.exit() function If the associated value is a plain integer, it specifies the system exit status
(passed to C’s exit() function) If it’s None, exit status is 0 If it has another type (e.g., a string), the object’s value is printed and
the exit status is 1 A call to sys.exit() is translated into an exception so that
finally clauses can be executed, and a debugger can execute a script without losing control
Inherits from BaseException instead of StandardError or Exception so it isn’t accidentally caught by code catching Exception
TypeError Raised when an operation/function applied to an object of inappropriate type Associated value is a string giving details about the type mismatch
UnboundLocalError Raised when a reference is made to a local variable in a function or method,
but no value bound to that variable Subclass of NameError
UnicodeError Raised when a Unicode-related encoding or decoding error occurs Subclass of ValueError
UnicodeEncodeError Raised when a Unicode-related error occurs during encoding Subclass of UnicodeError
UnicodeDecodeError Raised when a Unicode-related error occurs during decoding Subclass of UnicodeError
UnicodeTranslateError Raised when a Unicode-related error occurs during translating Subclass of UnicodeError
ValueError Raised when a built-in operation or function receives an argument that
has the right type but an inappropriate value
WindowsError Raised when a Windows-specific error occurs or when the error number
doesn’tt correspond to an errno value Subclass of OSError
ZeroDivisionError Raised when the 2nd argument of a division or modulo operation is 0 Associated value is a string indicating the type of the operands and the
operation
Exceptions used as warning categoriesWarning Base class for warning categories
UserWarning Base class for warnings generated by user code
DeprecationWarning Base class for warnings about deprecated features
PendingDeprecationWarning Base class for warnings about features to be deprecated in the future
SyntaxWarning Base class for warnings about dubious syntax
RuntimeWarning Base class for warnings about dubious runtime behavior
FutureWarning Base class for warnings about constructs that will change semantically
in the future
ImportWarning Base class for warnings about probable mistakes in module imports
UnicodeWarning Base class for warnings related to Unicode