[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How do I find what kind of exception is thrown.

Antoon Pardon wrote:

> Python 2.6.4 on a solaris box.
> I have a program in which all kind of excptions can be thrown and caugth.
> The main program is something like below:
> try:
>     do_stuff
> except Exception:
>     log unexpected trouble
> Now I found the following in the logs: [Errno 131] Connection reset by
> peer
> This is a problem I would like to catch earlier however I have no idea
> what exception I would have to catch in order to treat this case.
The logging package in the stdlib provides a way to include the traceback 
into the logfile:

$ cat log_exc.py
import logging

def do_stuff():

logger = logging.getLogger()

except Exception:
   logger.exception("unexpected trouble")
$ python3 log_exc.py 
$ cat tmp.log
ERROR:root:unexpected trouble
Traceback (most recent call last):
  File "log_exc.py", line 10, in <module>
  File "log_exc.py", line 4, in do_stuff
ZeroDivisionError: division by zero