Pregunta

I have a small script that uses mechanize to go to a few websites to collect data. Sometimes the websites cause the script the crash and returns either "Bad Gateway" or "Connection Reset By Peer". I have an except line in the code so it emails me if there are any problems with the program, but I am trying to find a way to have it NOT email me in the case of these 2 problems. I've tried:

except Exception as e:
    if 'Gateway' not in e and 'peer' not in e:
        logger.error(e)

But this doesn't seem to work, as i still get emails if one of these 2 errors occur. What is the best way to have it email me in the case of any exception except for exceptions that contain certain text?

¿Fue útil?

Solución

Instead of e in your if statement, use str(e).

except Exception as e:
    if 'Gateway' not in str(e) and 'peer' not in str(e):
        logger.error(e)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top