> **Источник:** https://python-all.ru/3.0/library/urllib.error.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# `urllib.error` – Классы исключений, генерируемые urllib.request

Модуль `urllib.error` определяет классы исключений, вызываемых [`urllib.request`](https://python-all.ru/3.0/library/urllib.request.html#module-urllib.request). Базовый класс исключений – [`URLError`](https://python-all.ru/3.0/library/urllib.error.html#urllib.error.URLError), который наследуется от [`IOError`](https://python-all.ru/3.0/library/exceptions.html#exceptions.IOError).

Следующие исключения вызываются модулем `urllib.error` в соответствующих случаях:

#### `[urllib.error.URLError]exception urllib.error.URLError`

Обработчики вызывают это исключение (или производные исключения), когда сталкиваются с проблемой. Оно является подклассом [`IOError`](https://python-all.ru/3.0/library/exceptions.html#exceptions.IOError).

#### `[urllib.error.URLError.reason]reason`

Причина этой ошибки. Это может быть строка сообщения или другой экземпляр исключения (

[`socket.error`](https://python-all.ru/3.0/library/socket.html#socket.error)

для удалённых URL,

[`OSError`](https://python-all.ru/3.0/library/exceptions.html#exceptions.OSError)

для локальных URL).

#### `[urllib.error.HTTPError]exception urllib.error.HTTPError`

Though being an exception (a subclass of [`URLError`](https://python-all.ru/3.0/library/urllib.error.html#urllib.error.URLError)), an [`HTTPError`](https://python-all.ru/3.0/library/urllib.error.html#urllib.error.HTTPError) can also function as a non-exceptional file-like return value (the same thing that `urlopen()` returns). This is useful when handling exotic HTTP errors, such as requests for authentication.

#### `[urllib.error.HTTPError.code]code`

Код состояния HTTP, как определено в

[RFC 2616](https://python-all.ru/3.0/library/urllib.error.html)

. Это числовое значение соответствует значению из словаря кодов, приведенного в

[`http.server.BaseHTTPRequestHandler.responses`](https://python-all.ru/3.0/library/http.server.html#http.server.BaseHTTPRequestHandler.responses)

.

#### `[urllib.error.ContentTooShortError]exception urllib.error.ContentTooShortError(msg[, content])`

Это исключение вызывается, когда функция

`urlretrieve()`

обнаруживает, что объём загруженных данных меньше ожидаемого (указанного в заголовке

*Content-Length*

). Атрибут

`content`

хранит загруженные (и предположительно усечённые) данные.
