все Python 3Исключенияисключение
MemoryError
встроенные исключения
Исключение, когда операции не хватило памяти, — например, при создании огромного списка.
Синтаксис
raise MemoryError
Обычно это не «в системе кончилась память», а одна слишком жадная операция: список на миллиард элементов, конкатенация гигантских строк, чтение большого файла целиком. Лечится переходом на генераторы и построчную обработку, а не блоком except. Рассчитывать на перехват вообще не стоит: на Linux с overcommit ядро чаще просто убивает процесс OOM-killer'ом, и до исключения дело не доходит.
Примеры
try:
raise MemoryError
except MemoryError as e:
print(type(e).__name__) # → MemoryError
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности