Antoon Pardon <antoon.par...@vub.be> writes: > 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
You're throwing away the exception object, with the information you need. Instead:: try: do_stuff() except Exception as exc: log_unexpected_trouble(exc) > Now I found the following in the logs: [Errno 131] Connection reset by peer That doesn't have the exception type in it. Probably because you are logging only ‘str(exc)’, which returns the exception message. If you *also* want the exception type to be logged, you'll need to get at it. You could use ‘"{0.__class__.__name__}: {0}".format(exc)’. > 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. Start by logging what exceptions actually occur, complete with their types. Then, when you have more data, decide which ones you need to handle specially and which ones can propagate normally. -- \ “An idea isn't responsible for the people who believe in it.” | `\ —Donald Robert Perry Marquis | _o__) | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list