IIC2233-2015-2 / syllabus

Página principal del curso
47 stars 57 forks source link

Error conexión sin internet #519

Closed jlires closed 8 years ago

jlires commented 8 years ago

Estoy tratando de debuggear mi programa y entre otras cosas evitar que se caiga cuando no hay internet. El problema es que la respuesta (el error que recibo) no logro atraparlo como excepción y no entiendo por qué. Notese el tipo de error que me devuelve es el de un exceso de intentos de request al servidor que al no haber internet todas fallan. ¿Qué tipo de excepción es la que devuelve el server en ese caso?

jlires commented 8 years ago

La excepción final que me salta, junto con otras dos que son manejadas por la sdk es la siguiente:

sin titulo

MainScientist commented 8 years ago
try:
    blabla
except urllib3.exceptions.MaxRetryError:
    blablabla

funcionara eso?

jlires commented 8 years ago

Como mencioné probé poniendo todas las excepciones que ahí me muestra y nada

MainScientist commented 8 years ago

aah perdon no habia leido bien jajaja eso es todo el mensaje que arroja?

MainScientist commented 8 years ago

provaste con request.exceptions.ConnectionError?

andresespinosapc commented 8 years ago

Puedes hacer esto:

try:
    # Acá lo que quieras
    int('fdsa')
except Exception as e:
    print(type(e))

2015-12-01 17:09 GMT-03:00 MainScientist notifications@github.com:

provaste con request.exceptions.ConnectionError?

— Reply to this email directly or view it on GitHub https://github.com/IIC2233-2015-2/syllabus/issues/519#issuecomment-161081444 .

Andrés Espinosa Estudiante Ingeniería UC

andresespinosapc commented 8 years ago

Perdón, ahora con Markdown jaja respondiendo desde el mail no al parecer no funciona :(

try:
    # Acá lo que quieras
    int('fdsa')
except Exception as e:
    print(type(e))

Me faltó especificar que esto es para saber el tipo de error que se está produciendo.

jlires commented 8 years ago

He probado con eso también y nada (sigue saliendo el mismo assert completo), puede ser que algo afecte que la solicitud de conexión la hago dentro de un thread. Seguiré probando y si lo arreglo lo cuento

andresespinosapc commented 8 years ago

A qué te refieres con el "mismo assert completo"?

jlires commented 8 years ago

El mismo error de la imagen jajaj, no me expresé bien. A lo que voy es que no se atrapa la excepción incluso generalizando con Exception

andresespinosapc commented 8 years ago

Ojo que te está tirando una excepción mientras otra está siendo manejada, por lo que deberías hacer algo de este estilo según lo que entiendo:

try:
    print('Tu código')
except urllib3.exceptions.NewConnectionError:
    try:
        print('Más código')
    except urllib3.exceptions.MaxRetryError:
        pass

No sé cómo es tu código, no sé si aplique lo que puse. Haces algo dentro del except?

[EDIT] Creo que me equivoqué, probablemente ya estabas manejando la primera excepción en el código en que tienes la segunda... Pero no está demás decirlo por si acaso jaja

aaossa commented 8 years ago

No sé como estás tratando de hacer el "try/catch". ¿Probaste usando solo except: en lugar de except algunErrorBlaBlaBla:?

jlires commented 8 years ago

Lo que tengo es muy simple:

try:
       self.client = dropbox.client.DropboxClient(self.access_token)
except:
       ...
andresespinosapc commented 8 years ago

Y ahi es cuando se genera que excepcion? Porque te aparecen 2 en lo que mandaste. No puede ser que se este generando en lo que esta en el except? On Dec 1, 2015 10:22 PM, "jlires" notifications@github.com wrote:

Lo que tengo es muy simple:

try: self.client = dropbox.client.DropboxClient(self.access_token)except: ...

— Reply to this email directly or view it on GitHub https://github.com/IIC2233-2015-2/syllabus/issues/519#issuecomment-161148987 .

aaossa commented 8 years ago

Es cierto lo que dice @andresespinosapc. El que salgan dos excepciones de esa forma indica que se produce otro error en el except. Recuerda que (siguendo tu ejemplo) no habrá nada en la variable self.cliente (no estará definida)

jlires commented 8 years ago

Toda la razón no me percate de eso tan simple. Muchas gracias @andresespinosapc y @aaossa