Python Glossary English

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

ValueError

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

Вызывается, когда функция получает аргумент правильного типа, но недопустимого значения. Например, int('abc') или math.sqrt(-1).

Синтаксис

raise ValueError('сообщение')

Граница с TypeError простая: тип подошёл, а значение — нет. int('abc') это ValueError, а int([]) уже TypeError. int('12.5') тоже падает: int() не разбирает дробную часть, нужно сначала float(). Оборачивайте в except ValueError именно узкое место (int(input())), а не весь блок через except Exception — иначе спрячете собственные опечатки в коде.

Примеры

int('abc')           # ValueError
float('inf')         # ok — inf допустим
[1, 2, 3].index(99)  # ValueError: 99 нет в списке
try:
    x = int('нет')
except ValueError as e:
    print('Ошибка:', e)

См. также

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