添加上下文例外,我想上下文到一個例外是這樣的:我怎樣才能在Python
def process(vals):
for key in vals:
try:
do_something(vals[key])
except Exception as ex: # base class. Not sure what to expect.
raise # with context regarding the key that was being processed.
我發現是一反常態長篇大論的Python的方式。有沒有比這更好的方法?
try:
do_something(vals[key])
except Exception as ex:
args = list(ex.args)
if len(args) > 1:
args[0] = "{}: {}".format(key, args[0])
ex.args = tuple(args)
raise # Will re-trhow ValueError with new args[0]
裏面除了塊'ex.args =(鍵)+ ex.args'有點清潔? –
@SteveAllison:你可以這樣做,但是這個消息會以一個元組的形式出現,比如'ZeroDivisionError:('0:','除零')'。 – unutbu