2007-08-15 11:28:01 -03:00
|
|
|
.. _bltin-exceptions:
|
|
|
|
|
|
|
|
Built-in Exceptions
|
|
|
|
===================
|
|
|
|
|
|
|
|
.. module:: exceptions
|
|
|
|
:synopsis: Standard exception classes.
|
|
|
|
|
|
|
|
|
|
|
|
Exceptions should be class objects. The exceptions are defined in the module
|
|
|
|
:mod:`exceptions`. This module never needs to be imported explicitly: the
|
|
|
|
exceptions are provided in the built-in namespace as well as the
|
|
|
|
:mod:`exceptions` module.
|
|
|
|
|
|
|
|
.. index::
|
|
|
|
statement: try
|
|
|
|
statement: except
|
|
|
|
|
|
|
|
For class exceptions, in a :keyword:`try` statement with an :keyword:`except`
|
|
|
|
clause that mentions a particular class, that clause also handles any exception
|
|
|
|
classes derived from that class (but not exception classes from which *it* is
|
|
|
|
derived). Two exception classes that are not related via subclassing are never
|
|
|
|
equivalent, even if they have the same name.
|
|
|
|
|
|
|
|
.. index:: statement: raise
|
|
|
|
|
|
|
|
The built-in exceptions listed below can be generated by the interpreter or
|
|
|
|
built-in functions. Except where mentioned, they have an "associated value"
|
2011-01-09 03:58:45 -04:00
|
|
|
indicating the detailed cause of the error. This may be a string or a tuple
|
2007-08-15 11:28:01 -03:00
|
|
|
containing several items of information (e.g., an error code and a string
|
|
|
|
explaining the code). The associated value is the second argument to the
|
|
|
|
:keyword:`raise` statement. If the exception class is derived from the standard
|
|
|
|
root class :exc:`BaseException`, the associated value is present as the
|
|
|
|
exception instance's :attr:`args` attribute.
|
|
|
|
|
|
|
|
User code can raise built-in exceptions. This can be used to test an exception
|
|
|
|
handler or to report an error condition "just like" the situation in which the
|
|
|
|
interpreter raises the same exception; but beware that there is nothing to
|
|
|
|
prevent user code from raising an inappropriate error.
|
|
|
|
|
2014-04-14 12:33:46 -03:00
|
|
|
The built-in exception classes can be subclassed to define new exceptions;
|
|
|
|
programmers are encouraged to derive new exceptions from the :exc:`Exception`
|
|
|
|
class or one of its subclasses, and not from :exc:`BaseException`. More
|
|
|
|
information on defining exceptions is available in the Python Tutorial under
|
2007-08-15 11:28:01 -03:00
|
|
|
:ref:`tut-userexceptions`.
|
|
|
|
|
|
|
|
The following exceptions are only used as base classes for other exceptions.
|
|
|
|
|
|
|
|
.. exception:: BaseException
|
|
|
|
|
|
|
|
The base class for all built-in exceptions. It is not meant to be directly
|
2011-01-09 03:58:45 -04:00
|
|
|
inherited by user-defined classes (for that, use :exc:`Exception`). If
|
2007-08-15 11:28:01 -03:00
|
|
|
:func:`str` or :func:`unicode` is called on an instance of this class, the
|
2011-01-09 03:58:45 -04:00
|
|
|
representation of the argument(s) to the instance are returned, or the empty
|
|
|
|
string when there were no arguments.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. versionadded:: 2.5
|
|
|
|
|
2011-01-09 03:58:45 -04:00
|
|
|
.. attribute:: args
|
|
|
|
|
|
|
|
The tuple of arguments given to the exception constructor. Some built-in
|
|
|
|
exceptions (like :exc:`IOError`) expect a certain number of arguments and
|
|
|
|
assign a special meaning to the elements of this tuple, while others are
|
|
|
|
usually called only with a single string giving an error message.
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. exception:: Exception
|
|
|
|
|
|
|
|
All built-in, non-system-exiting exceptions are derived from this class. All
|
|
|
|
user-defined exceptions should also be derived from this class.
|
|
|
|
|
|
|
|
.. versionchanged:: 2.5
|
|
|
|
Changed to inherit from :exc:`BaseException`.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: StandardError
|
|
|
|
|
|
|
|
The base class for all built-in exceptions except :exc:`StopIteration`,
|
|
|
|
:exc:`GeneratorExit`, :exc:`KeyboardInterrupt` and :exc:`SystemExit`.
|
|
|
|
:exc:`StandardError` itself is derived from :exc:`Exception`.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: ArithmeticError
|
|
|
|
|
|
|
|
The base class for those built-in exceptions that are raised for various
|
|
|
|
arithmetic errors: :exc:`OverflowError`, :exc:`ZeroDivisionError`,
|
|
|
|
:exc:`FloatingPointError`.
|
|
|
|
|
|
|
|
|
Merged revisions 87050,87101,87146,87156,87172,87175,87371,87378,87522-87524,87526,87530-87535 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r87050 | georg.brandl | 2010-12-04 18:09:30 +0100 (Sa, 04 Dez 2010) | 1 line
Fix typo.
........
r87101 | georg.brandl | 2010-12-06 23:02:48 +0100 (Mo, 06 Dez 2010) | 1 line
Remove visible XXX comments.
........
r87146 | georg.brandl | 2010-12-09 19:08:43 +0100 (Do, 09 Dez 2010) | 1 line
Fix "seperate".
........
r87156 | georg.brandl | 2010-12-10 11:01:44 +0100 (Fr, 10 Dez 2010) | 1 line
#10668: fix wrong call of __init__.
........
r87172 | georg.brandl | 2010-12-11 20:10:30 +0100 (Sa, 11 Dez 2010) | 1 line
Avoid AttributeError(_closed) when a TemporaryDirectory is deallocated whose mkdtemp call failed.
........
r87175 | georg.brandl | 2010-12-11 23:19:34 +0100 (Sa, 11 Dez 2010) | 1 line
Fix markup.
........
r87371 | georg.brandl | 2010-12-18 17:21:58 +0100 (Sa, 18 Dez 2010) | 1 line
Fix typo.
........
r87378 | georg.brandl | 2010-12-18 18:51:28 +0100 (Sa, 18 Dez 2010) | 1 line
#10723: add missing builtin exceptions.
........
r87522 | georg.brandl | 2010-12-28 10:16:12 +0100 (Di, 28 Dez 2010) | 1 line
Replace sys.maxint mention by sys.maxsize.
........
r87523 | georg.brandl | 2010-12-28 10:18:24 +0100 (Di, 28 Dez 2010) | 1 line
Remove confusing paragraph -- this is relevant only to advanced users anyway and does not belong into the tutorial.
........
r87524 | georg.brandl | 2010-12-28 10:29:19 +0100 (Di, 28 Dez 2010) | 1 line
Fix advice: call PyType_Ready to fill in ob_type of custom types.
........
r87526 | georg.brandl | 2010-12-28 11:38:33 +0100 (Di, 28 Dez 2010) | 1 line
#10777: fix iteration over dict keys while mutating the dict.
........
r87530 | georg.brandl | 2010-12-28 12:06:07 +0100 (Di, 28 Dez 2010) | 1 line
#10767: update README in crashers; not all may have a bug entry and/or be fixed.
........
r87531 | georg.brandl | 2010-12-28 12:08:17 +0100 (Di, 28 Dez 2010) | 1 line
#10742: document readonly attribute of memoryviews.
........
r87532 | georg.brandl | 2010-12-28 12:15:49 +0100 (Di, 28 Dez 2010) | 1 line
#10781: clarify that *encoding* is not a parameter for Node objects in general.
........
r87533 | georg.brandl | 2010-12-28 12:38:12 +0100 (Di, 28 Dez 2010) | 1 line
Remove history; adapt a bit more to reST, since this will once be part of the dev guide.
........
r87534 | georg.brandl | 2010-12-28 12:48:53 +0100 (Di, 28 Dez 2010) | 1 line
Rewrap.
........
r87535 | georg.brandl | 2010-12-28 12:49:41 +0100 (Di, 28 Dez 2010) | 1 line
#10739: document that on Windows, socket.makefile() does not make a file that has a true file descriptor usable where such a thing is expected.
........
2011-02-25 06:50:32 -04:00
|
|
|
.. exception:: BufferError
|
|
|
|
|
|
|
|
Raised when a :ref:`buffer <bufferobjects>` related operation cannot be
|
|
|
|
performed.
|
|
|
|
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
.. exception:: LookupError
|
|
|
|
|
2009-05-10 20:52:09 -03:00
|
|
|
The base class for the exceptions that are raised when a key or index used on
|
|
|
|
a mapping or sequence is invalid: :exc:`IndexError`, :exc:`KeyError`. This
|
|
|
|
can be raised directly by :func:`codecs.lookup`.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. exception:: EnvironmentError
|
|
|
|
|
|
|
|
The base class for exceptions that can occur outside the Python system:
|
|
|
|
:exc:`IOError`, :exc:`OSError`. When exceptions of this type are created with a
|
|
|
|
2-tuple, the first item is available on the instance's :attr:`errno` attribute
|
|
|
|
(it is assumed to be an error number), and the second item is available on the
|
|
|
|
:attr:`strerror` attribute (it is usually the associated error message). The
|
|
|
|
tuple itself is also available on the :attr:`args` attribute.
|
|
|
|
|
|
|
|
.. versionadded:: 1.5.2
|
|
|
|
|
|
|
|
When an :exc:`EnvironmentError` exception is instantiated with a 3-tuple, the
|
|
|
|
first two items are available as above, while the third item is available on the
|
|
|
|
:attr:`filename` attribute. However, for backwards compatibility, the
|
|
|
|
:attr:`args` attribute contains only a 2-tuple of the first two constructor
|
|
|
|
arguments.
|
|
|
|
|
|
|
|
The :attr:`filename` attribute is ``None`` when this exception is created with
|
|
|
|
other than 3 arguments. The :attr:`errno` and :attr:`strerror` attributes are
|
|
|
|
also ``None`` when the instance was created with other than 2 or 3 arguments.
|
|
|
|
In this last case, :attr:`args` contains the verbatim constructor arguments as a
|
|
|
|
tuple.
|
|
|
|
|
|
|
|
The following exceptions are the exceptions that are actually raised.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: AssertionError
|
|
|
|
|
|
|
|
.. index:: statement: assert
|
|
|
|
|
|
|
|
Raised when an :keyword:`assert` statement fails.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: AttributeError
|
|
|
|
|
2007-12-29 06:57:00 -04:00
|
|
|
Raised when an attribute reference (see :ref:`attribute-references`) or
|
|
|
|
assignment fails. (When an object does not support attribute references or
|
|
|
|
attribute assignments at all, :exc:`TypeError` is raised.)
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. exception:: EOFError
|
|
|
|
|
|
|
|
Raised when one of the built-in functions (:func:`input` or :func:`raw_input`)
|
|
|
|
hits an end-of-file condition (EOF) without reading any data. (N.B.: the
|
2007-12-29 06:57:00 -04:00
|
|
|
:meth:`file.read` and :meth:`file.readline` methods return an empty string
|
2007-08-15 11:28:01 -03:00
|
|
|
when they hit EOF.)
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: FloatingPointError
|
|
|
|
|
|
|
|
Raised when a floating point operation fails. This exception is always defined,
|
|
|
|
but can only be raised when Python is configured with the
|
Merged revisions 86521,86632,86823-86824,87294,87296,87300,87302 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r86521 | eric.araujo | 2010-11-18 17:38:46 +0100 (jeu., 18 nov. 2010) | 17 lines
Fix usage of :option: in the docs (#9312).
:option: is used to create a link to an option of python, not to mark
up any instance of any arbitrary command-line option. These were
changed to ````.
For modules which do have a command-line interface, lists of options
have been properly marked up with the program/cmdoption directives
combo. Options defined in such blocks can be linked to with :option:
later in the same file, they won’t link to an option of python.
Finally, the markup of command-line fragments in optparse.rst has
been cleaned to use ``x`` instead of ``"x"``, keeping that latter
form for actual Python strings.
Patch by Eli Bendersky and Éric Araujo.
........
r86632 | eric.araujo | 2010-11-21 04:09:17 +0100 (dim., 21 nov. 2010) | 2 lines
Style edits in followup to r86521 (#9312)
........
r86823 | eric.araujo | 2010-11-27 00:31:07 +0100 (sam., 27 nov. 2010) | 2 lines
Use link-generating markup (see #9312)
........
r86824 | eric.araujo | 2010-11-27 00:46:18 +0100 (sam., 27 nov. 2010) | 2 lines
Rewrap long lines + minor edits
........
r87294 | eric.araujo | 2010-12-16 01:07:01 +0100 (jeu., 16 déc. 2010) | 2 lines
No need to generate a link for something that’s just above.
........
r87296 | eric.araujo | 2010-12-16 01:23:30 +0100 (jeu., 16 déc. 2010) | 2 lines
Advertise “python -m” instead of direct filename.
........
r87300 | eric.araujo | 2010-12-16 02:40:26 +0100 (jeu., 16 déc. 2010) | 2 lines
Advertise “python -m test” over test.regrtest (r87296 followup)
........
r87302 | eric.araujo | 2010-12-16 03:10:11 +0100 (jeu., 16 déc. 2010) | 2 lines
Add versionadded directive missing from r78983.
........
2010-12-15 23:53:53 -04:00
|
|
|
``--with-fpectl`` option, or the :const:`WANT_SIGFPE_HANDLER` symbol is
|
2007-08-15 11:28:01 -03:00
|
|
|
defined in the :file:`pyconfig.h` file.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: GeneratorExit
|
|
|
|
|
2014-04-07 20:34:33 -03:00
|
|
|
Raised when a :term:`generator`\'s :meth:`close` method is called. It
|
|
|
|
directly inherits from :exc:`BaseException` instead of :exc:`StandardError`
|
|
|
|
since it is technically not an error.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. versionadded:: 2.5
|
|
|
|
|
2007-12-03 16:01:02 -04:00
|
|
|
.. versionchanged:: 2.6
|
|
|
|
Changed to inherit from :exc:`BaseException`.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. exception:: IOError
|
|
|
|
|
|
|
|
Raised when an I/O operation (such as a :keyword:`print` statement, the built-in
|
|
|
|
:func:`open` function or a method of a file object) fails for an I/O-related
|
|
|
|
reason, e.g., "file not found" or "disk full".
|
|
|
|
|
|
|
|
This class is derived from :exc:`EnvironmentError`. See the discussion above
|
|
|
|
for more information on exception instance attributes.
|
|
|
|
|
2007-09-09 20:36:46 -03:00
|
|
|
.. versionchanged:: 2.6
|
|
|
|
Changed :exc:`socket.error` to use this as a base class.
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. exception:: ImportError
|
|
|
|
|
|
|
|
Raised when an :keyword:`import` statement fails to find the module definition
|
|
|
|
or when a ``from ... import`` fails to find a name that is to be imported.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: IndexError
|
|
|
|
|
|
|
|
Raised when a sequence subscript is out of range. (Slice indices are silently
|
|
|
|
truncated to fall in the allowed range; if an index is not a plain integer,
|
|
|
|
:exc:`TypeError` is raised.)
|
|
|
|
|
2007-12-29 06:57:00 -04:00
|
|
|
.. XXX xref to sequences
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. exception:: KeyError
|
|
|
|
|
|
|
|
Raised when a mapping (dictionary) key is not found in the set of existing keys.
|
|
|
|
|
2007-12-29 06:57:00 -04:00
|
|
|
.. XXX xref to mapping objects?
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. exception:: KeyboardInterrupt
|
|
|
|
|
|
|
|
Raised when the user hits the interrupt key (normally :kbd:`Control-C` or
|
|
|
|
:kbd:`Delete`). During execution, a check for interrupts is made regularly.
|
|
|
|
Interrupts typed when a built-in function :func:`input` or :func:`raw_input` is
|
|
|
|
waiting for input also raise this exception. The exception inherits from
|
|
|
|
:exc:`BaseException` so as to not be accidentally caught by code that catches
|
|
|
|
:exc:`Exception` and thus prevent the interpreter from exiting.
|
|
|
|
|
|
|
|
.. versionchanged:: 2.5
|
|
|
|
Changed to inherit from :exc:`BaseException`.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: MemoryError
|
|
|
|
|
|
|
|
Raised when an operation runs out of memory but the situation may still be
|
|
|
|
rescued (by deleting some objects). The associated value is a string indicating
|
|
|
|
what kind of (internal) operation ran out of memory. Note that because of the
|
2012-01-14 11:42:02 -04:00
|
|
|
underlying memory management architecture (C's :c:func:`malloc` function), the
|
2007-08-15 11:28:01 -03:00
|
|
|
interpreter may not always be able to completely recover from this situation; it
|
|
|
|
nevertheless raises an exception so that a stack traceback can be printed, in
|
|
|
|
case a run-away program was the cause.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: NameError
|
|
|
|
|
|
|
|
Raised when a local or global name is not found. This applies only to
|
|
|
|
unqualified names. The associated value is an error message that includes the
|
|
|
|
name that could not be found.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: NotImplementedError
|
|
|
|
|
|
|
|
This exception is derived from :exc:`RuntimeError`. In user defined base
|
|
|
|
classes, abstract methods should raise this exception when they require derived
|
|
|
|
classes to override the method.
|
|
|
|
|
|
|
|
.. versionadded:: 1.5.2
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: OSError
|
|
|
|
|
2008-01-12 06:53:29 -04:00
|
|
|
.. index:: module: errno
|
|
|
|
|
|
|
|
This exception is derived from :exc:`EnvironmentError`. It is raised when a
|
|
|
|
function returns a system-related error (not for illegal argument types or
|
|
|
|
other incidental errors). The :attr:`errno` attribute is a numeric error
|
2012-01-14 11:42:02 -04:00
|
|
|
code from :c:data:`errno`, and the :attr:`strerror` attribute is the
|
|
|
|
corresponding string, as would be printed by the C function :c:func:`perror`.
|
2008-01-12 06:53:29 -04:00
|
|
|
See the module :mod:`errno`, which contains names for the error codes defined
|
|
|
|
by the underlying operating system.
|
|
|
|
|
|
|
|
For exceptions that involve a file system path (such as :func:`chdir` or
|
|
|
|
:func:`unlink`), the exception instance will contain a third attribute,
|
|
|
|
:attr:`filename`, which is the file name passed to the function.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
2008-01-12 12:11:09 -04:00
|
|
|
.. versionadded:: 1.5.2
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. exception:: OverflowError
|
|
|
|
|
|
|
|
Raised when the result of an arithmetic operation is too large to be
|
|
|
|
represented. This cannot occur for long integers (which would rather raise
|
2008-05-11 07:55:59 -03:00
|
|
|
:exc:`MemoryError` than give up) and for most operations with plain integers,
|
|
|
|
which return a long integer instead. Because of the lack of standardization
|
|
|
|
of floating point exception handling in C, most floating point operations
|
|
|
|
also aren't checked.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. exception:: ReferenceError
|
|
|
|
|
|
|
|
This exception is raised when a weak reference proxy, created by the
|
|
|
|
:func:`weakref.proxy` function, is used to access an attribute of the referent
|
|
|
|
after it has been garbage collected. For more information on weak references,
|
|
|
|
see the :mod:`weakref` module.
|
|
|
|
|
|
|
|
.. versionadded:: 2.2
|
|
|
|
Previously known as the :exc:`weakref.ReferenceError` exception.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: RuntimeError
|
|
|
|
|
|
|
|
Raised when an error is detected that doesn't fall in any of the other
|
|
|
|
categories. The associated value is a string indicating what precisely went
|
2013-11-25 14:08:32 -04:00
|
|
|
wrong.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. exception:: StopIteration
|
|
|
|
|
2009-07-26 11:19:57 -03:00
|
|
|
Raised by an :term:`iterator`\'s :meth:`~iterator.next` method to signal that
|
|
|
|
there are no further values. This is derived from :exc:`Exception` rather
|
|
|
|
than :exc:`StandardError`, since this is not considered an error in its
|
|
|
|
normal application.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. versionadded:: 2.2
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: SyntaxError
|
|
|
|
|
|
|
|
Raised when the parser encounters a syntax error. This may occur in an
|
|
|
|
:keyword:`import` statement, in an :keyword:`exec` statement, in a call to the
|
|
|
|
built-in function :func:`eval` or :func:`input`, or when reading the initial
|
|
|
|
script or standard input (also interactively).
|
|
|
|
|
|
|
|
Instances of this class have attributes :attr:`filename`, :attr:`lineno`,
|
|
|
|
:attr:`offset` and :attr:`text` for easier access to the details. :func:`str`
|
|
|
|
of the exception instance returns only the message.
|
|
|
|
|
|
|
|
|
Merged revisions 87050,87101,87146,87156,87172,87175,87371,87378,87522-87524,87526,87530-87535 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r87050 | georg.brandl | 2010-12-04 18:09:30 +0100 (Sa, 04 Dez 2010) | 1 line
Fix typo.
........
r87101 | georg.brandl | 2010-12-06 23:02:48 +0100 (Mo, 06 Dez 2010) | 1 line
Remove visible XXX comments.
........
r87146 | georg.brandl | 2010-12-09 19:08:43 +0100 (Do, 09 Dez 2010) | 1 line
Fix "seperate".
........
r87156 | georg.brandl | 2010-12-10 11:01:44 +0100 (Fr, 10 Dez 2010) | 1 line
#10668: fix wrong call of __init__.
........
r87172 | georg.brandl | 2010-12-11 20:10:30 +0100 (Sa, 11 Dez 2010) | 1 line
Avoid AttributeError(_closed) when a TemporaryDirectory is deallocated whose mkdtemp call failed.
........
r87175 | georg.brandl | 2010-12-11 23:19:34 +0100 (Sa, 11 Dez 2010) | 1 line
Fix markup.
........
r87371 | georg.brandl | 2010-12-18 17:21:58 +0100 (Sa, 18 Dez 2010) | 1 line
Fix typo.
........
r87378 | georg.brandl | 2010-12-18 18:51:28 +0100 (Sa, 18 Dez 2010) | 1 line
#10723: add missing builtin exceptions.
........
r87522 | georg.brandl | 2010-12-28 10:16:12 +0100 (Di, 28 Dez 2010) | 1 line
Replace sys.maxint mention by sys.maxsize.
........
r87523 | georg.brandl | 2010-12-28 10:18:24 +0100 (Di, 28 Dez 2010) | 1 line
Remove confusing paragraph -- this is relevant only to advanced users anyway and does not belong into the tutorial.
........
r87524 | georg.brandl | 2010-12-28 10:29:19 +0100 (Di, 28 Dez 2010) | 1 line
Fix advice: call PyType_Ready to fill in ob_type of custom types.
........
r87526 | georg.brandl | 2010-12-28 11:38:33 +0100 (Di, 28 Dez 2010) | 1 line
#10777: fix iteration over dict keys while mutating the dict.
........
r87530 | georg.brandl | 2010-12-28 12:06:07 +0100 (Di, 28 Dez 2010) | 1 line
#10767: update README in crashers; not all may have a bug entry and/or be fixed.
........
r87531 | georg.brandl | 2010-12-28 12:08:17 +0100 (Di, 28 Dez 2010) | 1 line
#10742: document readonly attribute of memoryviews.
........
r87532 | georg.brandl | 2010-12-28 12:15:49 +0100 (Di, 28 Dez 2010) | 1 line
#10781: clarify that *encoding* is not a parameter for Node objects in general.
........
r87533 | georg.brandl | 2010-12-28 12:38:12 +0100 (Di, 28 Dez 2010) | 1 line
Remove history; adapt a bit more to reST, since this will once be part of the dev guide.
........
r87534 | georg.brandl | 2010-12-28 12:48:53 +0100 (Di, 28 Dez 2010) | 1 line
Rewrap.
........
r87535 | georg.brandl | 2010-12-28 12:49:41 +0100 (Di, 28 Dez 2010) | 1 line
#10739: document that on Windows, socket.makefile() does not make a file that has a true file descriptor usable where such a thing is expected.
........
2011-02-25 06:50:32 -04:00
|
|
|
.. exception:: IndentationError
|
|
|
|
|
|
|
|
Base class for syntax errors related to incorrect indentation. This is a
|
|
|
|
subclass of :exc:`SyntaxError`.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: TabError
|
|
|
|
|
|
|
|
Raised when indentation contains an inconsistent use of tabs and spaces.
|
|
|
|
This is a subclass of :exc:`IndentationError`.
|
|
|
|
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
.. exception:: SystemError
|
|
|
|
|
|
|
|
Raised when the interpreter finds an internal error, but the situation does not
|
|
|
|
look so serious to cause it to abandon all hope. The associated value is a
|
|
|
|
string indicating what went wrong (in low-level terms).
|
|
|
|
|
|
|
|
You should report this to the author or maintainer of your Python interpreter.
|
|
|
|
Be sure to report the version of the Python interpreter (``sys.version``; it is
|
|
|
|
also printed at the start of an interactive Python session), the exact error
|
|
|
|
message (the exception's associated value) and if possible the source of the
|
|
|
|
program that triggered the error.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: SystemExit
|
|
|
|
|
|
|
|
This exception is raised by the :func:`sys.exit` function. When it is not
|
|
|
|
handled, the Python interpreter exits; no stack traceback is printed. If the
|
|
|
|
associated value is a plain integer, it specifies the system exit status (passed
|
2012-01-14 11:42:02 -04:00
|
|
|
to C's :c:func:`exit` function); if it is ``None``, the exit status is zero; if
|
2007-08-15 11:28:01 -03:00
|
|
|
it has another type (such as a string), the object's value is printed and the
|
|
|
|
exit status is one.
|
|
|
|
|
2013-10-08 16:43:39 -03:00
|
|
|
Instances have an attribute :attr:`!code` which is set to the proposed exit
|
2007-08-15 11:28:01 -03:00
|
|
|
status or error message (defaulting to ``None``). Also, this exception derives
|
|
|
|
directly from :exc:`BaseException` and not :exc:`StandardError`, since it is not
|
|
|
|
technically an error.
|
|
|
|
|
|
|
|
A call to :func:`sys.exit` is translated into an exception so that clean-up
|
|
|
|
handlers (:keyword:`finally` clauses of :keyword:`try` statements) can be
|
|
|
|
executed, and so that a debugger can execute a script without running the risk
|
|
|
|
of losing control. The :func:`os._exit` function can be used if it is
|
|
|
|
absolutely positively necessary to exit immediately (for example, in the child
|
2013-10-13 17:09:00 -03:00
|
|
|
process after a call to :func:`os.fork`).
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
The exception inherits from :exc:`BaseException` instead of :exc:`StandardError`
|
|
|
|
or :exc:`Exception` so that it is not accidentally caught by code that catches
|
|
|
|
:exc:`Exception`. This allows the exception to properly propagate up and cause
|
|
|
|
the interpreter to exit.
|
|
|
|
|
|
|
|
.. versionchanged:: 2.5
|
|
|
|
Changed to inherit from :exc:`BaseException`.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: TypeError
|
|
|
|
|
|
|
|
Raised when an operation or function is applied to an object of inappropriate
|
|
|
|
type. The associated value is a string giving details about the type mismatch.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: UnboundLocalError
|
|
|
|
|
|
|
|
Raised when a reference is made to a local variable in a function or method, but
|
|
|
|
no value has been bound to that variable. This is a subclass of
|
|
|
|
:exc:`NameError`.
|
|
|
|
|
|
|
|
.. versionadded:: 2.0
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: UnicodeError
|
|
|
|
|
|
|
|
Raised when a Unicode-related encoding or decoding error occurs. It is a
|
|
|
|
subclass of :exc:`ValueError`.
|
|
|
|
|
2012-12-02 12:33:06 -04:00
|
|
|
:exc:`UnicodeError` has attributes that describe the encoding or decoding
|
|
|
|
error. For example, ``err.object[err.start:err.end]`` gives the particular
|
|
|
|
invalid input that the codec failed on.
|
|
|
|
|
|
|
|
.. attribute:: encoding
|
|
|
|
|
|
|
|
The name of the encoding that raised the error.
|
|
|
|
|
|
|
|
.. attribute:: reason
|
|
|
|
|
|
|
|
A string describing the specific codec error.
|
|
|
|
|
|
|
|
.. attribute:: object
|
|
|
|
|
|
|
|
The object the codec was attempting to encode or decode.
|
|
|
|
|
|
|
|
.. attribute:: start
|
|
|
|
|
|
|
|
The first index of invalid data in :attr:`object`.
|
|
|
|
|
|
|
|
.. attribute:: end
|
|
|
|
|
|
|
|
The index after the last invalid data in :attr:`object`.
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
.. versionadded:: 2.0
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: UnicodeEncodeError
|
|
|
|
|
|
|
|
Raised when a Unicode-related error occurs during encoding. It is a subclass of
|
|
|
|
:exc:`UnicodeError`.
|
|
|
|
|
|
|
|
.. versionadded:: 2.3
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: UnicodeDecodeError
|
|
|
|
|
|
|
|
Raised when a Unicode-related error occurs during decoding. It is a subclass of
|
|
|
|
:exc:`UnicodeError`.
|
|
|
|
|
|
|
|
.. versionadded:: 2.3
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: UnicodeTranslateError
|
|
|
|
|
|
|
|
Raised when a Unicode-related error occurs during translating. It is a subclass
|
|
|
|
of :exc:`UnicodeError`.
|
|
|
|
|
|
|
|
.. versionadded:: 2.3
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: ValueError
|
|
|
|
|
|
|
|
Raised when a built-in operation or function receives an argument that has the
|
|
|
|
right type but an inappropriate value, and the situation is not described by a
|
|
|
|
more precise exception such as :exc:`IndexError`.
|
|
|
|
|
|
|
|
|
2009-02-17 20:31:36 -04:00
|
|
|
.. exception:: VMSError
|
|
|
|
|
|
|
|
Only available on VMS. Raised when a VMS-specific error occurs.
|
|
|
|
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
.. exception:: WindowsError
|
|
|
|
|
|
|
|
Raised when a Windows-specific error occurs or when the error number does not
|
2012-01-14 11:42:02 -04:00
|
|
|
correspond to an :c:data:`errno` value. The :attr:`winerror` and
|
2007-08-15 11:28:01 -03:00
|
|
|
:attr:`strerror` values are created from the return values of the
|
2012-01-14 11:42:02 -04:00
|
|
|
:c:func:`GetLastError` and :c:func:`FormatMessage` functions from the Windows
|
2007-08-15 11:28:01 -03:00
|
|
|
Platform API. The :attr:`errno` value maps the :attr:`winerror` value to
|
|
|
|
corresponding ``errno.h`` values. This is a subclass of :exc:`OSError`.
|
|
|
|
|
|
|
|
.. versionadded:: 2.0
|
|
|
|
|
|
|
|
.. versionchanged:: 2.5
|
2012-01-14 11:42:02 -04:00
|
|
|
Previous versions put the :c:func:`GetLastError` codes into :attr:`errno`.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. exception:: ZeroDivisionError
|
|
|
|
|
|
|
|
Raised when the second argument of a division or modulo operation is zero. The
|
|
|
|
associated value is a string indicating the type of the operands and the
|
|
|
|
operation.
|
|
|
|
|
|
|
|
The following exceptions are used as warning categories; see the :mod:`warnings`
|
|
|
|
module for more information.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: Warning
|
|
|
|
|
|
|
|
Base class for warning categories.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: UserWarning
|
|
|
|
|
|
|
|
Base class for warnings generated by user code.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: DeprecationWarning
|
|
|
|
|
|
|
|
Base class for warnings about deprecated features.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: PendingDeprecationWarning
|
|
|
|
|
|
|
|
Base class for warnings about features which will be deprecated in the future.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: SyntaxWarning
|
|
|
|
|
2015-10-10 07:52:35 -03:00
|
|
|
Base class for warnings about dubious syntax.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. exception:: RuntimeWarning
|
|
|
|
|
|
|
|
Base class for warnings about dubious runtime behavior.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: FutureWarning
|
|
|
|
|
|
|
|
Base class for warnings about constructs that will change semantically in the
|
|
|
|
future.
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: ImportWarning
|
|
|
|
|
|
|
|
Base class for warnings about probable mistakes in module imports.
|
|
|
|
|
|
|
|
.. versionadded:: 2.5
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: UnicodeWarning
|
|
|
|
|
|
|
|
Base class for warnings related to Unicode.
|
|
|
|
|
|
|
|
.. versionadded:: 2.5
|
|
|
|
|
|
|
|
|
2009-06-30 13:18:55 -03:00
|
|
|
Exception hierarchy
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
The class hierarchy for built-in exceptions is:
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. literalinclude:: ../../Lib/test/exception_hierarchy.txt
|