Python: получение ошибки WindowsError вместо ошибки IOError
Я пытаюсь понять исключения с Python 2.7.6, на Windows 8.
Вот код, который я тестирую, целью которого является создание нового каталога вMy_New_Dir
, Если каталог уже существует, я хочу удалить весь каталог и его содержимое, а затем создать новый каталог.
import os
dir = 'My_New_Dir'
try:
os.mkdir(dir)
except IOError as e:
print 'exception thrown'
shutil.rmtree(dir)
os.mkdir(dir)
Дело в том, что исключение никогда не выбрасывается. Код работает нормально, если каталог еще не существует, но если каталог существует, то я получаю сообщение об ошибке:
WindowsError: [Ошибка 183] Невозможно создать файл, если этот файл уже существует: 'My_New_Dir'
Но согласно документации Python для os.mkdir (),
Если каталог уже существует, вызывается OSError.
Так почему выдается ошибка Windows, а не исключение Python?