How to pop the interpreter's stack?

Terry Reedy tjreedy at udel.edu
Fri Dec 17 02:22:31 EST 2010


On 12/16/2010 7:33 PM, Steven D'Aprano wrote:

> Python's exception system has to handle two different situations: buggy
> code, and bad data. It's not even clear whether there is a general
> distinction to be made between the two, but even if there's not a general
> distinction, there's certainly a distinction which we can *sometimes*
> make.

The two are intertwined. Production code that passes bad data to a 
function without catching the exception is buggy.


> def func(x):
>      if !(x<= 10):
>          if x%2 != 0:
>              pass
>          else:
>              raise ValueError('bad value for x')
>      return
>
> I would have got the same traceback,

A traceback is printed only if the code passes bad data and does not 
catch the exception. Tracebacks are for developers, not for users.

-- 
Terry Jan Reedy




More information about the Python-list mailing list