当我使用以下用户定义的异常时,我收到一条警告,即在Python 2.6中不推荐使用BaseException.message:
class MyException(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return repr(self.message)
Run Code Online (Sandbox Code Playgroud)
这是警告:
DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
self.message = message
Run Code Online (Sandbox Code Playgroud)
这有什么问题?我需要更改什么来摆脱弃用警告?
编辑:我正在运行python 2.6
我希望实现这样的目标:
def foo():
try:
raise IOError('Stuff ')
except:
raise
def bar(arg1):
try:
foo()
except Exception as e:
e.message = e.message + 'happens at %s' % arg1
raise
bar('arg1')
Run Code Online (Sandbox Code Playgroud)
Traceback...
IOError('Stuff Happens at arg1')
Run Code Online (Sandbox Code Playgroud)
但我得到的是:
Traceback..
IOError('Stuff')
Run Code Online (Sandbox Code Playgroud)
关于如何实现这一点的任何线索?