相关疑难解决方法(0)

在Python 2.6中不推荐使用BaseException.message

当我使用以下用户定义的异常时,我收到一条警告,即在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 exception deprecated

168
推荐指数
4
解决办法
8万
查看次数

将信息添加到例外?

编辑:我正在运行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)

关于如何实现这一点的任何线索?

python exception

116
推荐指数
6
解决办法
6万
查看次数

标签 统计

exception ×2

python ×2

deprecated ×1