Я действительно не знаю, почему вы хотите это сделать, но вы можете установить exchook, который будет вызываться Python всякий раз, когда возникает необнаруженное исключение, и очищать массив зарегистрированных функций в модуле atexit
.
Примерно так:
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!")
Остерегайтесь, что он может работать неправильно, если исключение вызвано из atexit
зарегистрированной функции (но тогда поведение было бы странным, даже если этот хук не использовался).