Python Glossary English

все Python 3Исключенияисключение

UserWarning

встроенные исключения

Категория предупреждений по умолчанию для warnings.warn().

Синтаксис

raise UserWarning

Частая ловушка: warnings.warn('...') ничего не бросает — текст уходит в stderr, а выполнение спокойно идёт дальше, поэтому except UserWarning вокруг такого вызова ничего не поймает. Чтобы предупреждения действительно превращались в исключения, нужен фильтр: warnings.simplefilter('error') или запуск python -W error. И по умолчанию предупреждение из одной и той же строки печатается только при первом срабатывании, так что в цикле его легко проглядеть.

Примеры

try:
    raise UserWarning
except UserWarning as e:
    print(type(e).__name__)   # → UserWarning

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности