Python 3.2+Исключенияисключение
ResourceWarning
встроенные исключения
Не освобождённый ресурс (напр. незакрытый файл/сокет; по умолчанию скрыт).
Синтаксис
raise ResourceWarning
Стандартные фильтры предупреждений его глушат, так что незакрытый файл вы, скорее всего, просто не увидите — запускайте python -X dev или -W default, когда подозреваете утечку дескрипторов. Сообщение приходит в момент, когда сборщик мусора добирается до объекта, поэтому указанное место часто не совпадает с тем, где файл открывали. Лечится это не перехватом, а with.
Примеры
try:
raise ResourceWarning
except ResourceWarning as e:
print(type(e).__name__) # → ResourceWarning
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности