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?

Ответы на вопрос(3)

Ваш ответ на вопрос