# `urllib.error` — Classes de exceção levantadas por urllib.request

Código-fonte: Lib/urllib/error.py

O módulo `urllib.error` define as classes de exceção para exceções levantadas por `urllib.request`. A classe de exceção base é `URLError`.

As seguintes exceções são levantadas por `urllib.error` conforme apropriado:

exception urllib.error.URLError

  Os manipuladores levantam essa exceção (ou exceções derivadas) quando encontram um problema. É uma subclasse de `OSError`.

  reason

    O motivo desse erro. Pode ser uma string de mensagem ou outra instância de exceção.

  Alterado na versão 3.3: `URLError` costumava ser um subtipo de `IOError`, que agora é um apelido de `OSError`.

exception urllib.error.HTTPError

  Embora seja uma exceção (uma subclasse de `URLError`), uma `HTTPError` também pode funcionar como um valor de retorno não excepcional do tipo arquivo (a mesma coisa que `urlopen()` retorna). Isso é útil ao lidar com erros de HTTP exóticos, como solicitações de autenticação.

  code

    Um código de status HTTP conforme definido em RFC 2616. Este valor numérico corresponde a um valor encontrado no dicionário de códigos conforme encontrado em `http.server.BaseHTTPRequestHandler.responses`.

  reason

    This is usually a string explaining the reason for this error.

  headers

    The HTTP response headers for the HTTP request that caused the `HTTPError`.

    Novo na versão 3.4.

exception urllib.error.ContentTooShortError(msg, content)

  Esta exceção é levantada quando a função `urlretrieve()` detecta que a quantidade de dados baixados é menor que a quantidade esperada (fornecida pelo cabeçalho Content-Length).

  content

    Os dados baixados (e supostamente truncados).