`except BaseException` does not catch everything in Python 2, since you can throw any old-style class. Use `except` instead.