Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Replacement for e.message() in python 2.6

0 views
Skip to first unread message

Nandakumar Chandrasekhar

unread,
Feb 17, 2010, 4:58:43 AM2/17/10
to
Dear Folks,

In previous versions of Python I used to use e.message() to print out
the error message of an exception like so:

try:
result = x / y
except ZeroDivisionError, e:
print e.message()

Unfortunately in Python 2.6 the message method is deprecated.

Is there any replacement for the message method in Python 2.6 or is
there any best practice that should be used in Python from now on?

Thank you.

Yours sincerely,
Nanda

Arnaud Delobelle

unread,
Feb 17, 2010, 5:18:52 AM2/17/10
to
Nandakumar Chandrasekhar <navani...@gmail.com> writes:

You can just use the __str__() method of the BaseException object for
this. So instead of

print e.message

You can write

print str(e)

which in turn is equivalent to

print e

For more details see PEP 352 (http://www.python.org/dev/peps/pep-0352/)

--
Arnaud

Chris Prinos

unread,
Feb 19, 2010, 1:23:43 PM2/19/10
to
On Feb 17, 4:58 am, Nandakumar Chandrasekhar <navanitach...@gmail.com>
wrote:

except ZeroDivisionError as e:
        print e

Note different syntax using "except ... as ..."

e.message is deprecated here, but e.args[0] contains the same thing.

see http://docs.python.org/dev/3.0/whatsnew/2.6.html#pep-3110
and http://www.python.org/dev/peps/pep-3110/

chris

0 new messages