(ignore the bit about re raising the handled exception and the misleading stack trace, the OSError there wouldn't be re raised, just not handled)