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Сообщить о неточности