0

我想捕获除某人之外的所有异常,e.g. KeyboardInterrupt,

以下是我的代码的一部分:

try:
    num = 70
    while 1:
        print 'hello %d' % num
        sleep(0.1)
        num += 1
        a = 1/(num - 80)
except not KeyboardInterrupt:
        print 'ctrl c'
        save(num)

这没用。

4

2 回答 2

2

如果您对也没有捕获SystemExitand感到满意,那就StopIteration

except Exception:

因为这只捕获“更高级别”的异常。尽管如此,这仍被认为是不好的做法。在捕获异常时始终保持具体。

于 2013-07-02T09:17:45.483 回答
1

在一般情况之前抓住并重新提出

try:
    #stuff
except KeyboardInterrupt:
    raise #rethrow to a higher handler
except:
    #everything else
于 2013-07-02T09:17:40.393 回答