python try语句中可以接受的是什么

时间:2013-06-27 19:35:46

标签: python try-catch

我有一个try语句大致跟这样的事情。

for result in results['matches']:
    try:
        #runs some functions
    except KeyboardInterrupt:
        leaveopt = raw_input( 'Would you like to exit or skip the current match? [e/s]:' )
        if leaveopt == 'e':
            print '\nExiting...'
        else:
            print '\nSkipping match...'

当我运行程序时,我没有错误但是当我按下ctrl-c时它只是跳过当前的匹配而不是询问我想做什么。我想知道是否只有一些内容可以在try语句的except部分中运行,或者是否存在其他问题。

1 个答案:

答案 0 :(得分:1)

就我所知,你可以在except中做什么没有限制(即使你有一些事情你可能想避免在这里),这对我有用(python 2.7.3 / linux mint):

import time

for x in xrange(5000):
    try:
        print x
        time.sleep(5)
    except KeyboardInterrupt, e:
        leaveopt = raw_input( 
            'Would you like to exit or skip the current match? [e/s]:'
            )
        if leaveopt == 'e':
            print '\nExiting...'
            break
        else:
            print '\nSkipping match...'
            continue

问题显然出现在“运行一些功能”部分。