C.1. Interpreting Tracebacks

If execution of a Python program leads to an expression that is not understood by the interpreter, an exception is generated. Chapter 6describes exceptions in detail. If the exception is not handled by your program, it is eventually shown on the Python console and the program execution is terminated.

Seeing an exception is useful in two respects: it tells you what and where something exceptional happened. Look at Example 127.

Example 11.18. See the error?
def hello():
    appuifw.query(u"Hello World", "txet")

hello()

You can probably spot the error. When the code is executed, the following output is printed on the console:

Traceback (most recent call last):
?
File "C:\python\ex_error.py", line 4, in?
File "C:\python\ex_error.py", line 2, in hello
  def hello():
ValueError: unknown query type

We omitted some of the output between the first line and the last four lines. This output is called a traceback. It tells how the program execution proceeded just before the exception happened. The most recently executed lines are shown last. Almost always the last few lines pinpoint the actual location of the problem, but often it is useful to know how the program ended up on those lines, as shown by the full traceback. If you execute the program in the Python shell, the first lines of the traceback show how the program was started by the shell internally which is not really interesting to us.

In the example above, you can see that the exception occurred in line 2, ...

Get Mobile Python: Rapid Prototyping of Applications on the Mobile Platform now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.