Copyright (C) 2000-2012 |
GNU Info (python2.1-tut.info)ExceptionsExceptions ========== 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 |