| Предыдущий | Следующий |
| ERROR_INVALID_ORDINAL | ERROR_INVALID_FLAG_NUMBER |
ERROR_ALREADY_EXISTS
Запрошенный объект уже существует
ERROR_ALREADY_EXISTS обычно сопровождает API, способные открывать или создавать именованные файлы, каталоги, объекты синхронизации и другие ресурсы. Некоторые API всё равно возвращают пригодный дескриптор и используют этот код для описания результата создания.
Что проверить
- Прочитайте контракт API, чтобы определить, остаётся ли возвращённый дескриптор действительным.
- Сравните этот код с
ERROR_FILE_EXISTS, поскольку разные API используют их по-разному. - Убедитесь, что повторное использование существующего объекта безопасно для вызывающей стороны.
- Проверьте гонку между проверкой существования и операцией создания.
Как обрабатывать
Используйте атомарный API создания или открытия и выбирайте ветвь по сообщённому результату. Не удаляйте существующий объект, если правила владения и жизненного цикла явно этого не допускают.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.