# `urllib.error` — Clases de excepción lanzadas por urllib.request

Código fuente: Lib/urllib/error.py

El módulo `urllib.error` define las clases de excepción para las excepciones lanzadas por `urllib.request`. La clase de excepción base es `URLError`.

Las siguientes excepciones son lanzadas por `urllib.error` según sea apropiado:

exception urllib.error.URLError

  Los gestores lanzan esta excepción (o excepciones derivadas) cuando encuentran un problema. Es una subclase de `OSError`.

  reason

    El motivo de este error. Puede ser una cadena de mensaje u otra instancia de una excepción.

  Distinto en la versión 3.3: `URLError` used to be a subtype of `IOError`, which is now an alias of `OSError`.

exception urllib.error.HTTPError

  A pesar de ser una excepción (una subclase de `URLError`), un `HTTPError` también puede funcionar como un valor de retorno no excepcional de tipo archivo (lo mismo que retorna `urlopen()`). Esto es útil para gestionar errores HTTP exóticos, como peticiones de autentificación.

  code

    Un código de estado HTTP como los definidos en RFC 2616. Este valor numérico se corresponde con un valor de un diccionario de códigos como el que hay en `http.server.BaseHTTPRequestHandler.responses`.

  reason

    Normalmente esto es una cadena de caracteres que explica el motivo de este error.

  headers

    Las cabeceras de la respuesta HTTP de la petición HTTP que causó el `HTTPError`.

    Nuevo en la versión 3.4.

exception urllib.error.ContentTooShortError(msg, content)

  This exception is raised when the `urlretrieve()` function detects that the amount of the downloaded data is less than the expected amount (given by the Content-Length header).

  content

    The downloaded (and supposedly truncated) data.