擅长:python、mysql、java
<p>我真的不知道您为什么要这样做,但是您可以安装一个excepthook,每当出现未捕获的异常时,Python就会调用它,并在其中清除<code>atexit</code>模块中注册函数的数组。在</p>
<p>像这样:</p>
<pre><code>import sys
import atexit
def clear_atexit_excepthook(exctype, value, traceback):
atexit._exithandlers[:] = []
sys.__excepthook__(exctype, value, traceback)
def helloworld():
print "Hello world!"
sys.excepthook = clear_atexit_excepthook
atexit.register(helloworld)
raise Exception("Good bye cruel world!")
</code></pre>
<p>请注意,如果异常是从<code>atexit</code>注册的函数中引发的,那么它的行为可能会不正确(但是即使没有使用这个钩子,这种行为也会很奇怪)。在</p>