If I have that code:
try: some_method() except Exception, e:
How can I get this Exception value (string representation I mean)?
try: some_method() except Exception as e: s = str(e)
Also, most exception classes will have an
args attribute. Often,
args will be an error message.
It should be noted that just using
str will return an empty string if there's no error message whereas using
repr as pyfunc recommends will at least display the class of the exception. My take is that if you're printing it out, it's for an end user that doesn't care what the class is and just wants an error message.
It really depends on the class of exception that you are dealing with and how it is instantiated. Did you have something in particular in mind?
Use repr() and The difference between using repr and str
>>> try: ... print x ... except Exception, e: ... print repr(e) ... NameError("name 'x' is not defined",) >>>
>>> >>> try: ... print x ... except Exception, e: ... print str(e) ... name 'x' is not defined >>> >>>