Python Glossary English

Python 3.3+ipaddressисключение

ipaddress.AddressValueError

исключения

Исключение о неверной записи адреса; подкласс ValueError, его бросают конструкторы IPv4Address, IPv6Address и сетей.

Синтаксис

except ipaddress.AddressValueError:

Фабрики ip_address() и ip_network() его не пропускают наружу: перепробовав обе версии, они бросают обычный ValueError, и except AddressValueError вокруг них ничего не поймает. Поэтому в коде, принимающем любую версию, ловите ValueError — он покроет оба случая. Сообщение называет конкретную причину: октет больше 255, ведущие нули, лишние символы.

Примеры

import ipaddress
try:
    ipaddress.IPv4Address('1.2.3.4 ')
except ipaddress.AddressValueError as e:
    print(e)  # → Only decimal digits permitted in '4 ' in '1.2.3.4 '
try:
    ipaddress.ip_address('1.2.3.4 ')
except ipaddress.AddressValueError:
    print('не сюда')
except ValueError as e:
    print(type(e).__name__)  # → ValueError

См. также

Частые ошибки

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