GNU Info

Info Node: (python2.1-tut.info)Exceptions

(python2.1-tut.info)Exceptions


Next: Handling Exceptions Prev: Syntax Errors Up: Errors and Exceptions
Enter node , (file) or (file)node

Exceptions
==========

Even if a statement or expression is syntactically correct, it may
cause an error when an attempt is made to execute it.  Errors detected
during execution are called _exceptions_ and are not unconditionally
fatal: you will soon learn how to handle them in Python programs.  Most
exceptions are not handled by programs, however, and result in error
messages as shown here:

     >>> 10 * (1/0)
     Traceback (most recent call last):
       File "<stdin>", line 1
     ZeroDivisionError: integer division or modulo
     >>> 4 + spam*3
     Traceback (most recent call last):
       File "<stdin>", line 1
     NameError: spam
     >>> '2' + 2
     Traceback (most recent call last):
       File "<stdin>", line 1
     TypeError: illegal argument type for built-in operation

The last line of the error message indicates what happened.  Exceptions
come in different types, and the type is printed as part of the
message: the types in the example are `ZeroDivisionError', `NameError'
and `TypeError'.  The string printed as the exception type is the name
of the built-in name for the exception that occurred.  This is true for
all built-in exceptions, but need not be true for user-defined
exceptions (although it is a useful convention).  Standard exception
names are built-in identifiers (not reserved keywords).

The rest of the line is a detail whose interpretation depends on the
exception type; its meaning is dependent on the exception type.

The preceding part of the error message shows the context where the
exception happened, in the form of a stack backtrace.  In general it
contains a stack backtrace listing source lines; however, it will not
display lines read from standard input.

The  lists the built-in exceptions and their meanings.


automatically generated by info2www version 1.2.2.9