try我的代码中有这个块:
try:
do_something_that_might_raise_an_exception()
except ValueError as err:
errmsg = 'My custom error message.'
raise ValueError(errmsg)
Run Code Online (Sandbox Code Playgroud)
严格地说,我实际上是在另一种情况下 ValueError,而不是ValueError抛出的do_something...(),err在这种情况下被称为.如何附加自定义消息err?我尝试下面的代码,但失败,因为err,一个ValueError 实例,不是赎回:
try:
do_something_that_might_raise_an_exception()
except ValueError as err:
errmsg = 'My custom error message.'
raise err(errmsg)
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)
关于如何实现这一点的任何线索?