Dr. Phillip M. Feldman wrote:
In the attached  http://www.nabble.com/file/p24726902/test.py test.py code,
it appears that additional statements execute after the call to sys.exit(0). I'll be grateful if anyone can shed light on why this is happening. Below
is a copy of some sample I/O.  Note that in the last case I get additional
output after what should be the final error message.

In [126]: run test
Input a string: 1,2
[1, 2]

In [127]: run test
Input a string: 1-3
[1, 2, 3]

In [128]: run test
Input a string: 1,4,5-12
[1, 4, 5, 6, 7, 8, 9, 10, 11, 12]

In [129]: run test
Input a string: 0
ERROR: 0 is invalid; run numbers must be positive.
ERROR: '0' is not a valid run number.

sys.exit raises an SystemExit exception, which then gets caught by the
bare 'except' of the enclosing try...except... statement.

A lot of things can raise an exception, which is why bare 'except's are
a bad idea; catch only those you expect.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to