KeyboardInterrupt not caught
Steven D'Aprano
steve at REMOVE.THIS.cybersource.com.au
Fri Feb 16 05:26:09 EST 2007
On Fri, 16 Feb 2007 01:47:43 -0800, ruka_at_ wrote:
> Hi,
> why is KeyboardInterrupt not caught (xp)?
> import sys
> try:
> inp = sys.stdin.read()
> except (KeyboardInterrupt, SystemExit):
> print "kbd-interr,SystemExit"
> except EOFError:
> print "eof encountered"
I don't think you ever get an EOFError from stdin. If you type ^D
immediately, stdin.read() returns an empty string.
> except:
> print "caught all"
> self.showtraceback()
I don't imagine you'll get any other exceptions either.
Not that it matters, but what's self?
> print "normal end"
>
> result after script startet and ^C hit:
>>ctrl_test.py
> normal end
> Traceback (most recent call last):
> File "C:\work\py_src\ctrl_test.py", line 11, in ?
> print "normal end"
> KeyboardInterrupt
It works as expected for me.
I seem to have a vague recollection that the keyboard interrupt under
Windows isn't ^C but something else... ^Z maybe?
--
Steven.
More information about the Python-list
mailing list