"""Code snippet showing that is called when exception is not catched""" import logging import os import tempfile class MyHandler(logging.Handler): def close(self): logging.Handler.close(self) print 'in MyHandler.close' def main(): logger = logging.getLogger("example") my_handler = MyHandler() logger.addHandler(my_handler) try: raise KeyboardInterrupt except ValueError: pass finally: logger.removeHandler(my_handler) if __name__ == '__main__': main()