我希望捕获特定的
我尝试了以下代码:
ValueError
异常,而不是任何ValueError
异常。我尝试了以下代码:
try: maquina['WPF'] = macdat(ibus, id, 'WPF')
except: ValueError, 'For STRING = ’WPF’, this machine is not a wind machine.':
pass
但是它会引发一个 SyntaxError: can't assign to literal
错误。
然后我尝试了:
try: maquina['WPF'] = macdat(ibus, id, 'WPF')
except ValueError, e:
if e != 'For STRING = ’WPF’, this machine is not a wind machine.':
raise ValueError, e
但是它会引发异常,即使这正是我想要避免的异常。
raise
即可:这样,如果未处理异常,则仍会得到原始的堆栈回溯,而不是从重新引发异常处开始的堆栈回溯。 - Duncan