Using try: finally: without except when there are quite a few things happening in 'try' block can be quite scary. Why do we have this under try block? If we expect some kind of an error/exception as an escape condition we should catch that particular error and just have a noop (pass) in there, else all other exceptions should at least be logged. There is a scope of random errors like file permissions, disk full errors etc. just falling through this without appropriate messages logged or traceback.