В чем разница между тайм-аутом от URLError и от TimeoutError ⇐ Python

Программы на Python
Anonymous
В чем разница между тайм-аутом от URLError и от TimeoutError

Сообщение Anonymous »

Это мой код Python3:

Код: Выделить всё

try:
with urllib.request.urlopen(myURL, timeout=1.0) as page:
response = page.read().strip().decode("UTF-8",errors='replace')
except TimeoutError as e:
print(f"TimeoutError  '{e}'")
except urllib.error.URLError as e:
print(f"URLError '{e.reason}'")
Итак, у меня определен один тайм-аут в 1,0 секунды, но иногда срабатывает «urlError», а иногда «TimeoutError»:

Код: Выделить всё

ERR: 1002 ms  URLError 'timed out'
ERR: 1022 ms  TimeoutError  'timed out'
и хотя «URLError» всегда отстает от 1,0 секунды не более чем на несколько мс, «TimeoutError» сильно отличается и всегда на значительную часть (20...100 мс) превышает 1,0 секунды.
Что отвечает за срабатывание любого из двух таймаутов и почему TimeoutError всегда значительно превышает установленное значение?>

Подробнее здесь: https://stackoverflow.com/questions/798 ... meouterror

Вернуться в «Python»